Go 利用crypto实现ripemd160计算方法
RIPEMD-160是以原始版RIPEMD所改进的160位元版本,而且是RIPEMD系列中最常见的版本。 RIPEMD-160是設計給学术社群所使用的,剛好相对于国家安全局所设计SHA-1 和SHA-2 算法。
package main
import (
"fmt"
"io"
"golang.org/x/crypto/ripemd160"
)
func main() {
fmt.Println("go crypto ripemd160 demo.")
str1 := "https://const.net.cn"
str2 := "/"
w := ripemd160.New()
io.WriteString(w, str1)
io.WriteString(w, str2)
hashstr := fmt.Sprintf("ripemd160 = %x", w.Sum(nil))
fmt.Println(hashstr)
}
输出:
go run .
go crypto ripemd160 demo.
ripemd160 = 9e5801b91909e1c129f7b2429c968bb932f6f3e1
echo -n "https://const.net.cn/" | openssl dgst -ripemd160
(stdin)= 9e5801b91909e1c129f7b2429c968bb932f6f3e1