标签 md4 下的文章

“”

MD4是麻省理工学院教授Ronald Rivest于1990年设计的一种信息摘要算法。它是一种用来测试信息完整性的密码散列函数的实行。其摘要长度为128位。这个算法影响了后来的算法如MD5、SHA家族和RIPEMD等。
1991年Den Boer和Bosselaers发表了一篇文章指出MD4的短处, 2004年8月王小云报告在计算MD4时可能发生杂凑冲撞。
Go 会提示 md4 不建议使用,不安全。

package main

import (
    "crypto/md5"
    "fmt"
    "io"

    "golang.org/x/crypto/md4"
)

func main() {
    fmt.Println("go md4 demo.")

    str1 := "https://"
    str2 := "const.net.cn"
    w1 := md4.New()
    io.WriteString(w1, str1)
    io.WriteString(w1, str2)

    md4str2 := fmt.Sprintf("%x", w1.Sum(nil))
    fmt.Println(md4str2)

}

输出:

go run .
go md4 demo.
d6dd1d2a616b6a480c6ce417b517734b
echo -n "https://const.net.cn" | openssl dgst -md4
(stdin)= d6dd1d2a616b6a480c6ce417b517734b