package main
//Go 在多个 crypto/* 包中实现了一系列散列函数。
import "crypto/sha1"
import "fmt"
func main() {
s := "string1"
//产生一个散列值得方式是 sha1.New(),sha1.Write(bytes),然后 sha1.Sum([]byte{})。这里我们从一个新的散列开始。
h := sha1.New() // md5加密类似md5.New()
//写入要处理的字节。如果是一个字符串,需要使用[]byte(s) 来强制转换成字节数组。
h.Write([]byte(s))
//这个用来得到最终的散列值的字符切片。Sum 的参数可以用来对现有的字符切片追加额外的字节切片:一般不需要要。
bs := h.Sum(nil)
//SHA1 值经常以 16 进制输出,使用%x 来将散列结果格式化为 16 进制字符串。
fmt.Printf("%x\n", bs)
//如果需要对另一个字符串加密,要么重新生成一个新的散列,要么一定要调用h.Reset()方法,不然生成的加密字符串会是拼接第一个字符串之后进行加密
h.Reset()//重要!!!
h.Write([byte]("string2"))
fmt.Printf("%x\n", fmt.Sprintf("%x", h.Sum(nil)))
}
golang sha1加密算法调用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近在项目中使用到了网络请求签名认证的方法,于是在网上找关于OC sha1加密的方法,很快找到了一个大众使用的封装...
- md5.js base64.js sha1.js 参考: http://pajhome.org.uk/crypt/...
- 一、定义:将任意长度的消息压缩到某一固定长度的消息摘要的函数,MD5与SHA1都是Hash算法(散列函数),均属于...