分类 Go 下的文章

“Go是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。 罗伯特·格瑞史莫、罗勃·派克及肯·汤普逊于2007年9月开始设计Go,稍后伊恩·兰斯·泰勒、拉斯·考克斯加入项目。Go是基于Inferno操作系统所开发的。”

SHA-2,名称来自于安全散列算法2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在2001年发布。属于SHA算法之一,是SHA-1的后继者。其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

package main

import (
    "crypto/sha256"
    "fmt"
    "io"
)

func main() {
    fmt.Println("go crypto sha224 demo.")
    str1 := "https://const.net.cn"
    str2 := "/"
    w := sha256.New224()
    io.WriteString(w, str1)
    io.WriteString(w, str2)

    sha1str := fmt.Sprintf("sha224 = %x", w.Sum(nil))
    fmt.Println(sha1str)
}

输出:

go run .
go crypto sha224 demo.
sha224 = 3ab49cfc67deb77e59156090de73673847e87e7b68723202f0394699
echo -n "https://const.net.cn/" | openssl dgst -sha224
(stdin)= 3ab49cfc67deb77e59156090de73673847e87e7b68723202f0394699

SHA-2,名称来自于安全散列算法2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在2001年发布。属于SHA算法之一,是SHA-1的后继者。其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

package main

import (
    "crypto/sha256"
    "fmt"
    "io"
)

func main() {
    fmt.Println("go crypto sha256 demo.")
    str1 := "https://const.net.cn"
    str2 := "/"
    w := sha256.New()
    io.WriteString(w, str1)
    io.WriteString(w, str2)

    hashstr := fmt.Sprintf("sha256 = %x", w.Sum(nil))
    fmt.Println(hashstr)
}

输出:

go run .
go crypto sha256 demo.
sha256 = 2249a0aa015fa72b155b297b331bc0e7e34052096c43297d9a2de3a2df38bded
echo -n "https://const.net.cn/" | openssl dgst -sha256
(stdin)= 2249a0aa015fa72b155b297b331bc0e7e34052096c43297d9a2de3a2df38bded

SHA-2,名称来自于安全散列算法2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在2001年发布。属于SHA算法之一,是SHA-1的后继者。其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

package main

import (
    "crypto/sha512"
    "fmt"
    "io"
)

func main() {
    fmt.Println("go crypto sha384 demo.")
    str1 := "https://const.net.cn"
    str2 := "/"
    w := sha512.New384()
    io.WriteString(w, str1)
    io.WriteString(w, str2)

    hashstr := fmt.Sprintf("sha384 = %x", w.Sum(nil))
    fmt.Println(hashstr)
}

输出:

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

SHA-2,名称来自于安全散列算法2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在2001年发布。属于SHA算法之一,是SHA-1的后继者。其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

package main

import (
    "crypto/sha512"
    "fmt"
    "io"
)

func main() {
    fmt.Println("go crypto sha512 demo.")
    str1 := "https://const.net.cn"
    str2 := "/"
    w := sha512.New()
    io.WriteString(w, str1)
    io.WriteString(w, str2)

    hashstr := fmt.Sprintf("sha512 = %x", w.Sum(nil))
    fmt.Println(hashstr)
}

输出:

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

SHA-2,名称来自于安全散列算法2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在2001年发布。属于SHA算法之一,是SHA-1的后继者。其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

package main

import (
    "crypto/sha512"
    "fmt"
    "io"
)

func main() {
    fmt.Println("go crypto sha512_224 demo.")
    str1 := "https://const.net.cn"
    str2 := "/"
    w := sha512.New512_224()
    io.WriteString(w, str1)
    io.WriteString(w, str2)

    hashstr := fmt.Sprintf("sha512_224 = %x", w.Sum(nil))
    fmt.Println(hashstr)
}

输出:

go run .
go crypto sha512_224 demo.
sha512_224 = ac8ef7fa5a2383df65cc9820b8e2ce548b540ca7756a2ba7d09218c9
echo -n "https://const.net.cn/" | openssl dgst -sha512-224
(stdin)= ac8ef7fa5a2383df65cc9820b8e2ce548b540ca7756a2ba7d09218c9