BLAKE和BLAKE2是基于丹尼尔·J·伯恩斯坦ChaCha流密码的密码散列函数。与SHA-2一样,有两种不同字大小的变体。BLAKE-256和BLAKE-224使用32位字,分别产生256位和224位的摘要大小,而BLAKE-512和BLAKE-384分别使用64位字,产生512位和384位的摘要大小。在64位的x64和ARM体系结构上运行时,BLAKE2b比SHA-3,SHA-2,SHA-1和MD5更快。BLAKE2的安全性提供类似于SHA-3,优于SHA-2:免疫长度扩展攻击,来自随机预言机的无差异性等。BLAKE的改进版本BLAKE2于2012年12月21日宣布推出。BLAKE3于2020年1月9日宣布推出。

代码:

package main

import (
    "fmt"

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

func main() {
    fmt.Println("go crypto blake2s_256 demo.")
    str1 := "https://const.net.cn/"
    w := blake2s.Sum256([]byte(str1))

    hashstr := fmt.Sprintf("blake2s_256 = %x ,blake2s_256 len = %d", w, len(w))
    fmt.Println(hashstr)
}

输出:

go run .
go crypto blake2s_256 demo.
blake2s_256 = 5d91ecdf175b8f81bf3cd76c96f7fa1174d4cba8f4bcfa17d183bf4b20f7cdca ,blake2s_256 len = 32
echo -n "https://const.net.cn/" | openssl dgst -blake2s256
(stdin)= 5d91ecdf175b8f81bf3cd76c96f7fa1174d4cba8f4bcfa17d183bf4b20f7cdca
本文链接地址:https://const.net.cn/63.html

标签: crypto, blake2s

添加新评论