最近下载 IDEA ,看到可以校验文件 的 SHA-256 Hash 值。
https://www.jetbrains.com/idea/download/download-thanks.html?platform=mac
查看值为:
e54a026da11d05d9bb0172f4ef936ba2366f985b5424e7eecf9e9341804d65bf *ideaIU-2022.2.1.dmg
那么 SHA-256 是什么,怎么获取文件的 SHA-256 的值呢?
简而言之,对于任意长度的消息,SHA256都会产生一个256位的哈希值,称作消息摘要。
这个摘要相当于是个长度为32个字节的数组,通常有一个长度为64的十六进制字符串来表示,其中1个字节=8位,一个十六进制的字符的长度为4位。
来看一个具体的例子:
BlockChain
这句话经过哈希函数SHA256后得到的哈希值为:
3a6fed5fc11392b3ee9f81caf017b48640d7458766a8eb0382899a605b41f2b9
具体原理大家可以看此文:《一文读懂SHA256算法原理及其实现》。
或者维基百科:《SHA-2》
大家也可以结合 sha256algorithm.com “可视化地”查看其具体步骤
通过对内容计算摘要,可以检测内容是否被篡改(篡改后摘要的值会发生变化)。
直接在网上找一些加密网站都支持这个功能。
https://md5.cn/#/tools/hash?id=Hash
shasum 指令 (mac)
shasum -a 256 /path/to/file
openssl 指令 (mac)
openssl sha256 filename
CertUtil (window)
CertUtil -hashfile C:\file.img SHA256
iHash