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

新品销售网站建设广州seo公司品牌

新品销售网站建设,广州seo公司品牌,reeoo v5 wordpress,缆信网络有限公司备注 go官方文档 https://pkg.go.dev/crypto/md5 已经给出如何使用该package生成文件或者字节数组的摘要值, 参照即可。 摘要值不是对文内容的加密,它主要用来进行checksum,就是验证两个文件内容是否一致,是否被篡改或者变化了。…

备注

go官方文档 https://pkg.go.dev/crypto/md5 已经给出如何使用该package生成文件或者字节数组的摘要值, 参照即可。 摘要值不是对文内容的加密,它主要用来进行checksum,就是验证两个文件内容是否一致,是否被篡改或者变化了。

简介

“crypto/sha256”
“crypto/md5”
“crypto/sha1”
根据文档介绍, 可直接通过如下方式对字节数据或者文件流进行摘要获取

对字节数据获取摘要

s := "Foo"md5 := md5.Sum([]byte(s))
sha1 := sha1.Sum([]byte(s))
sha256 := sha256.Sum256([]byte(s))fmt.Printf("%x\n", md5)
fmt.Printf("%x\n", sha1)
fmt.Printf("%x\n", sha256)

对文件取摘要值示例。 将如下示例代码中的sha256.New() 替换为h := sha1.New(), 即可获取sha1值, 通过fmt.Printf(“%x\n”, sum)获取摘要值的字符串, 也可以通过hex.EncodeToString(md5Byte) 将摘要值encode为可以打印的字符串。

func main() {f, err := os.Open("file.txt")if err != nil {log.Fatal(err)}defer f.Close()h := sha256.New()if _, err := io.Copy(h, f); err != nil {log.Fatal(err)}fmt.Printf("%x", h.Sum(nil))
}

示例代码

package mainimport ("crypto/md5""encoding/hex""fmt""io""os"
)func calcFileMD5(filePath string) (string, error) {file, err := os.Open(filePath)if err != nil {return "", err}md5Handle := md5.New()_, _ = io.Copy(md5Handle, file)md5Byte := md5Handle.Sum(nil)        //计算 MD5 值,返回 []bytemd5str := fmt.Sprintf("%x", md5Byte) //将 []byte 转为 stringfmt.Printf("md5Byte:%v, md5str:%v\n", md5Byte, md5str)return hex.EncodeToString(md5Byte), nil
}func main() {dir, err := os.Getwd()if err != nil {fmt.Println("Error getting current directory: ", err)return}fmt.Println("Current dir: ", dir)var fileName = "file1.txt"md5Val, err := calcFileMD5(fileName)if err != nil {fmt.Printf("fail to calc md5 for file %v, errMsg:%v\n", fileName, err)} else {fmt.Printf("md5 for file %v is %v\n", fileName, md5Val)}fmt.Println("字符串的md5值demo")str := "要取摘要的字符串abc"md5Handle := md5.New()_, err = io.WriteString(md5Handle, str)if err != nil {fmt.Printf("fail to calc md5 for string %v is errMsg:%v\n", str, err)return}md5ValByte := md5Handle.Sum(nil)// 输出16进制格式的MD5字符串fmt.Printf("%x\n", md5ValByte)md5str := hex.EncodeToString(md5ValByte)fmt.Printf("md5 for string %v is %v. lenght:%d\n", str, md5str, len(md5ValByte))fmt.Println("byte 数组的md5值demo")dataByte := []byte("要取摘要的数据") // 将字符串转换为byte数组md5Val16Byte := md5.Sum(dataByte) // 对data进行MD5哈希计算// 输出16进制格式的MD5字符串fmt.Printf("%x\n", md5Val16Byte)sliceFrom16ByteArray := md5Val16Byte[:]md5str = hex.EncodeToString(sliceFrom16ByteArray)fmt.Printf("md5 for byte[] %v is %v. lenght:%d\n", dataByte, md5str, len(md5Val16Byte))
}
http://www.ds6.com.cn/news/7576.html

相关文章:

  • 建设网站公司招聘2023第三波疫情已经到来了
  • 做网站都需要年服务费吗网站推广是什么
  • 充值网站分销站怎么做巨量算数数据分析
  • 中国作文网官网培训行业seo整站优化
  • 昆山网页网站制作淄博新闻头条最新消息
  • 枣强网站建设电话新手怎么做电商
  • 网站seo心态竞价托管多少钱一个月
  • 和平区网站制作如何利用互联网宣传与推广
  • 网站开发什么是会话关键词排名代发
  • 网站建设技术服务费怎么写分录百度推广在线客服
  • 网站开发论文模板采集站seo赚钱辅导班
  • 淘宝的网站建设百度热线电话
  • 九网互联怎么建设网站拉新推广赚钱的app
  • 揭阳网站开发网站宣传推广策划
  • 大气 网站模板上海seo顾问推推蛙
  • 广州网站建设clov5r品牌营销策划案例
  • 做企业网站推广多少钱效果最好的推广软件
  • 如果用别人公司信息做网站最新的新闻 今天
  • 武汉580做网站教你免费申请个人网站
  • 湖北去哪做经营性网站备案网址查询
  • 网站链接可以自己做吗环球网最新消息
  • 做好网站怎么做appseo优化推广技巧
  • 做电影网站会不会涉及版权问题百度贴吧官网app下载
  • 浙江建设网官方网站网络推广平台有哪些渠道
  • 计算机it培训班电子商务seo
  • 医院网站建设解决方案太原整站优化排名外包
  • ps网站首页设计图制作教程seo优化排名易下拉用法
  • 网站制作模板下载专业做网站设计
  • wordpress 添加文件东莞seo建站投放
  • 三合一网站建设 万网百度搜索排名查询