作者:kissbye1993 | 来源:互联网 | 2024-10-24 11:27
本文探讨了在Golang中实现MD5加密的两种高效方法。通过详细分析标准库`crypto/md5`的使用技巧和第三方库的性能优势,提供了丰富的代码示例和性能对比数据,帮助开发者选择最适合其应用场景的实现方式。此外,文章还讨论了MD5算法的安全性问题及其在现代应用中的局限性,为读者提供了全面的技术参考。
package main
import (
"crypto/md5"
"fmt"
"io"
"log"
)
//方式一
func getMd5String1(str string) string {
m := md5.New()
_, err := io.WriteString(m, str)
if err != nil {
log.Fatal(err)
}
arr := m.Sum(nil)
return fmt.Sprintf("%x", arr)
}
//方式二
func getMd5String2(b []byte) string {
return fmt.Sprintf("%x", md5.Sum(b))
}
func main() {
str := "111111"
string1 := getMd5String1(str)
fmt.Println(string1)
string2 := getMd5String2([]byte(str))
fmt.Println(string2)
}