短期网站建设培训,中国纪检监察报社长范清安,网络营销运营外包,php网站制作过程中遇到的问题及解决办法文章目录前言一、sha256是什么#xff1f;二、go语言实现前言
提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考
一、sha256是什么#xff1f;
SHA256是SHA-2下细分出的一种算法
SHA-2#xff0c;名称来自于安全散列算法2#xff08;英语#xff…
文章目录前言一、sha256是什么二、go语言实现前言
提示以下是本篇文章正文内容下面案例可供参考
一、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 mainimport (crypto/sha256fmt
)/*
go语言sha256包中实现了两种哈希函数分别是sha256hesha224
*/func main() {hash : sha256.New()hash.Write([]byte(hello world!))result : hash.Sum(nil)fmt.Printf(%x\n, result)
}