sha256算法

  • Post author:
  • Post category:其他





前言


提示:以下是本篇文章正文内容,下面案例可供参考



一、sha256是什么?

SHA256是SHA-2下细分出的一种算法

SHA-2,名称来自于安全散列算法2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,属于SHA算法之一,是SHA-1的后继者。

SHA-2下又可再分为六个不同的算法标准

包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

这些变体除了生成摘要的长度 、循环运行的次数等一些微小差异外,算法的基本结构是一致的。

回到SHA256上,说白了,它就是一个哈希函数。

哈希函数,又称散列算法,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(或哈希值)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。

对于任意长度的消息,SHA256都会产生一个256bit长的哈希值,称作消息摘要。



二、go语言实现

package main

import (
	"crypto/sha256"
	"fmt"
)

/*
go语言sha256包中实现了两种哈希函数,分别是sha256hesha224
*/

func main() {
	hash := sha256.New()
	hash.Write([]byte("hello world!"))
	result := hash.Sum(nil)
	fmt.Printf("%x\n", result)
}




版权声明:本文为weixin_44763160原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。