正版哈希值校验工具_哈希校验

简介

现在从网络下载文件,为了安全起见很多平台都会提供哈希校验码,来提供所下载文件的内容摘要,下载完成后只要本地的文件具有一样的哈希码,就能够确保你下载的东西没有被替换。所以养成随手校验哈希是很一个很好的习惯。

语法

常用的算法有 md5, sha-1 ,sha256.

windows 平台

certutil -hashfile filename md5

certutil -hashfile filename sha1

certutil -hashfile filename sha256

macos 平台

md5 filename

shasum -a 1 filename

shasum -a 256 filename

如果不想先保存为文件,而是直接计算hash值,可以使用管道技术,比如想计算 hello 这个字符串的哈希值

echo "hello" | shasum -a 256		# 计算的为 "hello\n" 的哈希,echo 会直接在输出的字符串后面添加 '\n'
echo -n "hello" | shasum -a 256		# 计算的为  "hello" 的哈希,-n 会阻止 echo 为字符串添加 '\n'

linux 平台

md5sum filename

shasum -a 1 filename

shasum -a 256 filename
echo "hello" | shasum -a 256		# 计算的为 "hello\n" 的哈希,echo 会直接在输出的字符串后面添加 '\n'
echo -n "hello" | shasum -a 256		# 计算的为  "hello" 的哈希,-n 会阻止 echo 为字符串添加 '\n' 

测试

在Linux平台

以字符串hello为例

$ echo -n "hello" | shasum -a 1
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

$ echo "hello" | shasum -a 1
f572d396fae9206628714fb2ce00f72e94f2258f				# 这个结果与保存在文件中的结果一致

将hello字符串保存在文件中:

# md5
b1946ac92492d2347c6235b4d2611184
# sha-1
f572d396fae9206628714fb2ce00f72e94f2258f
# sha-256
5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03

注意: 因为windows平台行尾用的是回车换行符,即’\r\n’,也叫做CRLF。而linux系行尾用的只有换行符,即’\n’,也就是LF。因此,windows平台要想得到和linux平台一致的结果,首先要调整文件格式到unix格式。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注