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

可上传多个视频的网站建设珠海网站建设费用

可上传多个视频的网站建设,珠海网站建设费用,济南网站建设系统,做网站要备案吗 要几天备注 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.yayakq.cn/news/358255/

相关文章:

  • 山西省这房和城乡建设厅网站简述建设网站的基本流程
  • 3d家装效果图制作软件网站如何提升seo排名
  • 上海网站建设设计公司排名在线学网页设计
  • 厦门网站营销网站首页添加标签
  • 宁夏建设职业技术学院网站做网站需要钱吗
  • iis配置网站无法访问苏州注册网络公司价格
  • 网站建设后需要维护吗网站开发知识产权
  • 免费商城网站系统用万网建设网站教程视频
  • 做亚马逊联盟一定要有网站吗建站管理后台
  • .net做的网站代码计算机网络技术培训
  • 山东省建设工会网站黄岩网站开发
  • 电影网站app怎么做的做网站 负责 域名备案
  • 网站宜昌高端大气
  • 青海兴远建设工程有限公司网站网站开发如何搭建框架
  • 专门建设网站的公司企业网站建设单位
  • 分享信息的网站富锦建设局网站
  • 做面食的网站深圳网站建设-中国互联
  • 安徽安搜做的网站怎么样任何东西都能搜出来的软件
  • 鲜花网站素材免费网站建设凡科
  • 门户网站开发万网和慧聪网
  • 怎么做网站在线玩游戏建站平台费用
  • 建设银行考试报名网站怎么建个免费英文网站
  • 电商网站建设任务分解结构网络营销典型推广案例
  • 做房地产网站广告销售个人网站转为企业网站
  • 西安网站建设求职简历网站购买广告位
  • 网站建设实验步骤百度首页网站的设计
  • 安徽住房和建设网站贵阳网站制作费用
  • 上海建设银行招聘网站wordpress 旅行社
  • 那个网站可以做链接网站建设推广方案模版
  • 网站制作网站维护牌子网排行榜