md5sha1计算方法,就是简单的将数据的md5结果与sha1结果拼接起来。

package main

import (
    "crypto/md5"
    "crypto/sha1"

    "fmt"
    "io"
)

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

    w1 := sha1.New()
    io.WriteString(w1, str1)
    io.WriteString(w1, str2)

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

输出:

go run .
go crypto md5sha1 demo.
md5sha1 = 4b655b565c09136dd867a7e523371391405036731104eeb5fae59f5f600f8b4771d93ac5
echo -n "https://const.net.cn/" | openssl dgst -md5-sha1
(stdin)= 4b655b565c09136dd867a7e523371391405036731104eeb5fae59f5f600f8b4771d93ac5

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

SHA-3第三代安全散列算法(Secure Hash Algorithm 3),之前名为Keccak算法,设计者宣称在 Intel Core 2 的CPU上面,此算法的性能是12.6比特每时钟周期(cycles per byte)。
SHA-3 在2015年8月5日由 NIST 通过 FIPS 202 正式发表。

package main

import (
    "fmt"
    "io"

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

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

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

go run .
go crypto sha3_224 demo.
sha3_224 = e328606cc1eb2999a2d3f959883c78d6fe4d24d0701eda4d052393ec
echo -n "https://const.net.cn/" | openssl dgst -sha3-224
(stdin)= e328606cc1eb2999a2d3f959883c78d6fe4d24d0701eda4d052393ec

SHA-3第三代安全散列算法(Secure Hash Algorithm 3),之前名为Keccak算法,设计者宣称在 Intel Core 2 的CPU上面,此算法的性能是12.6比特每时钟周期(cycles per byte)。
SHA-3 在2015年8月5日由 NIST 通过 FIPS 202 正式发表。
代码:

package main

import (
    "fmt"
    "io"

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

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

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

输出:

go run .
go crypto sha3_256 demo.
sha3_256 = 8381f50d5d006a28ef44a4e3e8eefc4a8b3c8374f4796a44d5592c0caf48c55f
echo -n "https://const.net.cn/" | openssl dgst -sha3-256
(stdin)= 8381f50d5d006a28ef44a4e3e8eefc4a8b3c8374f4796a44d5592c0caf48c55f

SHA-3第三代安全散列算法(Secure Hash Algorithm 3),之前名为Keccak算法,设计者宣称在 Intel Core 2 的CPU上面,此算法的性能是12.6比特每时钟周期(cycles per byte)。
SHA-3 在2015年8月5日由 NIST 通过 FIPS 202 正式发表。

代码:
package main

import (

"fmt"
"io"

"golang.org/x/crypto/sha3"

)

func main() {

fmt.Println("go crypto sha3_384 demo.")
str1 := "https://const.net.cn"
str2 := "/"
w := sha3.New384()
io.WriteString(w, str1)
io.WriteString(w, str2)

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

}

输出:
go run .
go crypto sha3_384 demo.
sha3_384 = 3e67e0647f667d67d5e15b4bb7088cd8f6464ba343e90e0ae09541700de98b90c92a55ec6c013f99dea1ea30a47dd6d3
echo -n "https://const.net.cn/" | openssl dgst -sha3-384
(stdin)= 3e67e0647f667d67d5e15b4bb7088cd8f6464ba343e90e0ae09541700de98b90c92a55ec6c013f99dea1ea30a47dd6d3