当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

md5与crc32性能对比

作者:小梦 来源: 网络 时间: 2024-08-05 阅读:

感觉MD5算法复杂度比crc32高很多,具体高多少呢?
测试一下

// main.gopackage mainimport (    "crypto/md5"    "fmt"    "hash/crc32")func main() {    data := []byte("test")    fmt.Printf("%x", md5.Sum(data))}func Crc32IEEE(data []byte) uint32 {    return crc32.ChecksumIEEE(data)}func Md5(data []byte) [16]byte {    return md5.Sum(data)}
// main_test.gopackage mainimport "testing"func BenchmarkCrc32(b *testing.B) {    for i := 0; i < b.N; i++ {        Crc32IEEE([]byte("test"))    }}func BenchmarkMd5(b *testing.B) {    for i := 0; i < b.N; i++ {        Md5([]byte("test"))    }}
go test -bench=.

PASS
BenchmarkCrc32-4 20000000 64.9 ns/op
BenchmarkMd5-4 5000000 274 ns/op
ok test 3.022s


md5大致慢4倍左右

热点阅读

网友最爱