GO实现MD5加密
常用的Hash算法
md4, md5
md5: 生成hash长度的长度:128位。sha256: 256位
sha256的加密会复杂点,同样的系统开销会多。md5、sha256加密不可逆,也就是加密后不能再根据加密的秘钥去解密,网上MD5解密实际上是暴力破解。如果需要可逆的话,请选择DES、AES、异或、凯撒、RSA等。
package main
import (
"crypto/md5"
"fmt"
"io"
)
//方式一
func md5Test1() []byte {
//创建一个哈希器
hasher := md5.New()
io.WriteString(hasher,"hello")
io.WriteString(hasher,"world")
//执行sum得到哈希值
hash := hasher.Sum(nil)
return hash
}
//方式2 直接使用Sum
func md5Test2(str []byte) []byte {
hash := md5.Sum(str)
return hash[:]
}
func main() {
hash := md5Test1()
fmt.Printf("方式一:%x\n",hash)
str:= []byte("helloworld")
hash2 := md5Test2(str)
fmt.Printf("方式二:%x\n",hash2)