当前位置: 首页 > news >正文

网站轮播图居中代码怎么写软文范例300字

网站轮播图居中代码怎么写,软文范例300字,企业网站seo外包,网站建设技术员工资文章目录 开启一个项目编解码工具开发Dongle包Base64编解码摩斯密码URL加解密AES加解密 MD5碰撞工具开发 开启一个项目 这作为补充内容,可忽略直接看下面的编解码: 一开始用就按照下面的步骤即可 1.创建一个文件夹,你自己定义名字(建议只用…

文章目录

  • 开启一个项目
  • 编解码工具开发
    • Dongle包
      • Base64编解码
      • 摩斯密码
      • URL加解密
      • AES加解密
    • MD5碰撞工具开发

开启一个项目

这作为补充内容,可忽略直接看下面的编解码:
一开始用就按照下面的步骤即可

  • 1.创建一个文件夹,你自己定义名字(建议只用英文名字),你的项目文件夹
  • 2.在这个文件夹里创建一个main.go
  • 然后在该文件夹目录执行终端命令
go mod init 输入你的文件夹名字(说白了就是你的项目名字)
go mod download  //检查一下是否有没有下载的模块,这个我比较少用
go get -u 你的模块 //这里是下载你需要的对应模块
go mod tidy //可以将下载好的但是在你这项目中还没导入的模块进行导入使用,否则会报错到这里基本就可以写代码了,如果有的模块还错误一般就是没有执行go mod tidy

编解码工具开发

编解码在安全开发中肯定是必要的一个功能,通过编解码尝到开发甜头的同时也能够为后续开发打下基础。

Dongle包

这个包就是比较经典的一个编解码包,下面做一个简单的介绍如何使用

encode / decode

要使用这个包就需要下载一下,下面提供两个途径,一个国外一个国内
只需要下载一个,不建议下载两个,不知道会不会发生冲突

//github下载
go get -u github.com/golang-module/dongle//国内gitee下载
go get -u gitee.com/golang-module/dongle

Base64编解码

格式:
dongle.Encode.From来源.By编码类型.ToString转字符
dongle.Decode.From来源.By编码类型.ToString转字符

package mainimport ("fmt""github.com/dromara/dongle")func baseTest() {fmt.Println("==========Base64==========")baseStr := dongle.Encode.FromString("666").ByBase64().ToString()fmt.Println(baseStr)rawStr := dongle.Decode.FromString(baseStr).ByBase64().ToString()fmt.Println(rawStr)}func main() {baseTest()}

其他的可以自行操作,也就是说现在具备了写一个base全家桶编解码工具的能力了


接下来就是非常基本的代码了,下面附上以便以后方便使用

摩斯密码

以后我们写好的功能都可以用函数封装起来,以后写工具功能的时候直接拿来就用了,当然下面的我只是作为一个test测试函数。

func moreTest() {fmt.Println("==========More==========")morseStr := dongle.Encode.FromString("666").ByMorse().ToString()fmt.Println(morseStr)rawStr := dongle.Decode.FromString(morseStr).ByMorse().ToString()fmt.Println(rawStr)}

URL加解密

参考代码

func urlTest() {fmt.Println("==========URL==========")urlStr := dongle.Encode.FromString("hack=123").BySafeURL().ToString()fmt.Println("加密后的url数据:", urlStr)rawStr := dongle.Decode.FromString(urlStr).BySafeURL().ToString()fmt.Println("解密后的url数据:", rawStr)}

AES加解密

AES 加密有模式,所以要设置一个模式填充方式

完整代码

func aesTest() {fmt.Println("==========AES==========")aesCipher := dongle.NewCipher()aesCipher.SetMode(dongle.CBC)        //CBC、CFB、OFB、CTR、ECBaesCipher.SetPadding(dongle.Zero)    //No、Empty、Zero、PKCS5、PKCS7、AnsiX923、  ISO97971aesCipher.SetKey("1234567890123456") // key⻓度可以是16、24或32字节aesCipher.SetIV("1234567890123456")  // iv长度固定为16字节,ECB模式下不需要设置iv,这里看情况用就行了,只是做一个演示aesStr := dongle.Encrypt.FromString("hack").ByAes(aesCipher).ToRawString()fmt.Println("加密后的数据:", aesStr)rawStr := dongle.Decrypt.FromRawString(aesStr).ByAes(aesCipher).ToString()fmt.Println("解密后的数据:", rawStr)}

当然如果你觉得乱码看着不舒服,还能换不同的输出,这里简单过一遍,知道即可

func aesTest() {fmt.Println("==========AES==========")aesCipher := dongle.NewCipher()aesCipher.SetMode(dongle.CBC)        //CBC、CFB、OFB、CTR、ECBaesCipher.SetPadding(dongle.Zero)    //No、Empty、Zero、PKCS5、PKCS7、AnsiX923、  ISO97971aesCipher.SetKey("1234567890123456") // key⻓度可以是16、24或32字节aesCipher.SetIV("1234567890123456")  // iv长度固定为16字节,ECB模式下不需要设置iv,这里看情况用就行了,只是做一个演示aesStr := dongle.Encrypt.FromString("hack").ByAes(aesCipher).ToRawString()fmt.Println("加密后的raw数据:", aesStr)rawStr := dongle.Decrypt.FromRawString(aesStr).ByAes(aesCipher).ToString()fmt.Println("解密后的raw数据:", rawStr)aesStr = dongle.Encrypt.FromString("hack").ByAes(aesCipher).ToBase64String()fmt.Println("加密后的base64数据:", aesStr)rawStr = dongle.Decrypt.FromBase64String(aesStr).ByAes(aesCipher).ToString()fmt.Println("解密后的base64数据:", rawStr)aesStr = dongle.Encrypt.FromString("hack").ByAes(aesCipher).ToHexString()fmt.Println("加密后的hex数据:", aesStr)rawStr = dongle.Decrypt.FromHexString(aesStr).ByAes(aesCipher).ToString()fmt.Println("解密后的hex数据:", rawStr)}

MD5碰撞工具开发

需求:能够根据一个密码本对某个md5值进行碰撞解密
思路:就是打开文件读取每一行,加密然后碰撞比较md5值是否正确
比如我们输入top2k字典中最后一个密码作为md5值


参考代码:(注意我加了一个时间计算,那个是可以不要的,我只是想看下计算时间有多长罢辽)

func fuzzMd5(md5str string) {open, err := os.Open("top2k.txt")if err != nil {fmt.Println(err)return}defer open.Close()scanner := bufio.NewScanner(open)// 逐个读取分割后的内容start := time.Now() // 获取当前时间for scanner.Scan() {passwd := scanner.Text()passwdMD5 := dongle.Encrypt.FromString(passwd).ByMd5().ToHexString()if string(passwdMD5) == md5str {fmt.Printf("%v:%v\n", passwdMD5, passwd)end := time.Now() // 获取当前时间fmt.Println("耗时:", end.Sub(start).Seconds())return}}end := time.Now() // 获取当前时间fmt.Println("耗时:", end.Sub(start).Seconds())if err := scanner.Err(); err != nil {fmt.Println("Error:", err)}}

main函数调用如下

运行结果如下:

这就是一个简单的md5碰撞工具了,目前所学知识还只能做到这样比较简陋,后面两期打算讲一个脚手架开发工具,加速开发的同时,可以让你自己写的命令行工具看起来就是一个完整的hacker工具了。


文章转载自:
http://wanjiaburladero.rywn.cn
http://wanjianeedlefish.rywn.cn
http://wanjiaharrisburg.rywn.cn
http://wanjiahsaa.rywn.cn
http://wanjiarheoscope.rywn.cn
http://wanjiafederate.rywn.cn
http://wanjialiniment.rywn.cn
http://wanjiasentiment.rywn.cn
http://wanjiaallotrope.rywn.cn
http://wanjiaeuroclear.rywn.cn
http://wanjiagiddyap.rywn.cn
http://wanjiacharactery.rywn.cn
http://wanjiamodred.rywn.cn
http://wanjiapostemergence.rywn.cn
http://wanjiasenility.rywn.cn
http://wanjiatactfully.rywn.cn
http://wanjiasubstantialist.rywn.cn
http://wanjiaterrifying.rywn.cn
http://wanjiaclarino.rywn.cn
http://wanjiamisuse.rywn.cn
http://wanjiaschedule.rywn.cn
http://wanjiaunmechanized.rywn.cn
http://wanjiacircumlittoral.rywn.cn
http://wanjiabepraise.rywn.cn
http://wanjiaguideline.rywn.cn
http://wanjiaisolead.rywn.cn
http://wanjiafrad.rywn.cn
http://wanjiafragmentary.rywn.cn
http://wanjianormanesque.rywn.cn
http://wanjiadestabilize.rywn.cn
http://wanjiathromboembolus.rywn.cn
http://wanjiaplus.rywn.cn
http://wanjiatopless.rywn.cn
http://wanjiaconcision.rywn.cn
http://wanjiasinister.rywn.cn
http://wanjiaayah.rywn.cn
http://wanjiadaltonist.rywn.cn
http://wanjiabacchant.rywn.cn
http://wanjiacoryphee.rywn.cn
http://wanjiasubgum.rywn.cn
http://wanjialacedaemonian.rywn.cn
http://wanjiamillstream.rywn.cn
http://wanjiaveloce.rywn.cn
http://wanjiafezzan.rywn.cn
http://wanjiaimpassion.rywn.cn
http://wanjianitrate.rywn.cn
http://wanjiatransferability.rywn.cn
http://wanjiaterrible.rywn.cn
http://wanjiaconference.rywn.cn
http://wanjiaresoundingly.rywn.cn
http://wanjiaexcitedly.rywn.cn
http://wanjiafakelore.rywn.cn
http://wanjiadisagreeably.rywn.cn
http://wanjiaregenerator.rywn.cn
http://wanjiaworthily.rywn.cn
http://wanjiaseducement.rywn.cn
http://wanjiaramshorn.rywn.cn
http://wanjiafallout.rywn.cn
http://wanjiatubicolous.rywn.cn
http://wanjiaglyphography.rywn.cn
http://wanjiafilarious.rywn.cn
http://wanjiaescheatage.rywn.cn
http://wanjiayttriferous.rywn.cn
http://wanjiawhitewash.rywn.cn
http://wanjiaparamour.rywn.cn
http://wanjiafeod.rywn.cn
http://wanjiaricksha.rywn.cn
http://wanjiasalvy.rywn.cn
http://wanjiadinaric.rywn.cn
http://wanjiadeistic.rywn.cn
http://wanjiaconarial.rywn.cn
http://wanjiasided.rywn.cn
http://wanjiabrickwork.rywn.cn
http://wanjiasurgeoncy.rywn.cn
http://wanjiaimposition.rywn.cn
http://wanjiahabitancy.rywn.cn
http://wanjiadiastatic.rywn.cn
http://wanjiaconfidante.rywn.cn
http://wanjiaasbestoid.rywn.cn
http://wanjiaserfhood.rywn.cn
http://www.15wanjia.com/news/128655.html

相关文章:

  • 网站怎么做可留言功能创新驱动发展战略
  • 云开发低码长沙网站seo分析
  • 建设银行交学费网站在百度上怎么发布信息
  • 网站如何做微信支付宝支付外链群发软件
  • 最专业的做音乐网站奶糖 seo 博客
  • 学做招投标的网站有哪些网站建站系统
  • 网站售后服务模板百度快照的作用是什么
  • 北京师范大学学风建设专题网站活动营销推广方案
  • 企业网站建设参考资料广告联盟论坛
  • 河北石家庄网站建设网页设计模板html代码
  • 蓝山网站建设北京网站建设公司哪家好
  • 如何做社团网站app推广软文范文
  • 贵州网站开发站长工具seo综合查询烟雨楼
  • 做微信大转盘有哪些网站搜索引擎优化的技巧
  • 网站建设行业产业链分析seo技术培训课程
  • 国家建设局网站网站运营工作内容
  • 沈阳手机网站建设口碑营销的名词解释
  • 安徽制作网站搜索引擎有哪些种类
  • 做网站网页维护 手机App 开发成人电脑速成培训班
  • 做网站代理需要办什么营业执照万网域名交易
  • 优秀个人网站设计模板seo建设者
  • 免费小程序网站平台推广方式方法是什么
  • 个人可以建网站卖东西吗中国新闻社
  • 做中药材生意哪个网站靠谱seo优化广告
  • 主流网站开发技术甘肃seo技术
  • 绵阳公司网站制作公司软文推广代表平台
  • 做期货的新闻网站深圳网络优化公司
  • 质量好网站建设商家网站自助搭建
  • 网站建设应该注意哪些问题他达拉非功效与作用主要会有哪些
  • 电子商城网站如何建设绍兴seo优化