Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
            页面加载耗时 0.00 毫秒·物理内存 142.8MB ·虚拟内存 1438.3MB
        
        欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
        
        
        MD5 是一种 Hash 算法。MD5(RFC 1321) 是 Rivest 于1991年对 MD4 的改进版本。
MD5 算法的输出是128位。MD5 比 MD4 更加安全,但是过程更加复杂,计算速度也慢一些。
package main
import (
    "crypto/md5"
    "fmt"
    "io"
)
func main() {
    str := "123456"
    //方法一
    data := []byte(str)
    has := md5.Sum(data)
    md5str1 := fmt.Sprintf("%x", has) //将[]byte转成16进制
    fmt.Println(md5str1)   
    //方法二
    w := md5.New()
    io.WriteString(w, str)
    //将str写入到w中
    md5str2 := fmt.Sprintf("%x", w.Sum(nil))
    fmt.Println(md5str2)
}
MD5散列的输出结果为128位(bit),按照16进制(4位一个16进制数)编码后,生成32个字符。
以上的输出结果:
e10adc3949ba59abbe56e057f20f883e e10adc3949ba59abbe56e057f20f883e
计算机系统中,数据存储是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在 C 语言中除了8bit 的 char 之外,还有 16bit 的 short 型,32bit 的 long 型(要看具体 ...