大家好,又见面了,我是你们的朋友全栈君。
windows, macos 和 linux 平台的哈希校验方法汇总
- 简介
- 语法
-
- windows 平台
- macos 平台
- linux 平台
- 测试
-
- 以字符串hello为例
- 将hello字符串保存在文件中:
简介
现在从网络下载文件,为了安全起见很多平台都会提供哈希校验码,来提供所下载文件的内容摘要,下载完成后只要本地的文件具有一样的哈希码,就能够确保你下载的东西没有被替换。所以养成随手校验哈希是很一个很好的习惯。
语法
常用的算法有 md5, sha-1 ,sha256.
windows 平台
代码语言:javascript复制certutil -hashfile filename md5
certutil -hashfile filename sha1
certutil -hashfile filename sha256
macos 平台
代码语言:javascript复制md5 filename
shasum -a 1 filename
shasum -a 256 filename
如果不想先保存为文件,而是直接计算hash值,可以使用管道技术,比如想计算 hello 这个字符串的哈希值
代码语言:javascript复制echo "hello" | shasum -a 256 # 计算的为 "hellon" 的哈希,echo 会直接在输出的字符串后面添加 'n'
echo -n "hello" | shasum -a 256 # 计算的为 "hello" 的哈希,-n 会阻止 echo 为字符串添加 'n'
linux 平台
代码语言:javascript复制md5sum filename
shasum -a 1 filename
shasum -a 256 filename
代码语言:javascript复制echo "hello" | shasum -a 256 # 计算的为 "hellon" 的哈希,echo 会直接在输出的字符串后面添加 'n'
echo -n "hello" | shasum -a 256 # 计算的为 "hello" 的哈希,-n 会阻止 echo 为字符串添加 'n'
测试
在Linux平台
以字符串hello为例
代码语言:javascript复制$ echo -n "hello" | shasum -a 1
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
$ echo "hello" | shasum -a 1
f572d396fae9206628714fb2ce00f72e94f2258f # 这个结果与保存在文件中的结果一致
将hello字符串保存在文件中:
代码语言:javascript复制# md5
b1946ac92492d2347c6235b4d2611184
# sha-1
f572d396fae9206628714fb2ce00f72e94f2258f
# sha-256
5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
注意: 因为windows平台行尾用的是回车换行符,即’rn’,也叫做CRLF。而linux系行尾用的只有换行符,即’n’,也就是LF。因此,windows平台要想得到和linux平台一致的结果,首先要调整文件格式到unix格式。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194399.html原文链接:https://javaforall.cn