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

2022-09-30 10:27:55 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

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

0 人点赞