You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell Get-Hash与Unix md5sum生成MD5哈希不一致问题

哈希不匹配的原因及解决办法

我来帮你理清楚这个问题哈~你遇到的MD5哈希不一致,核心是PowerShell和Ubuntu对输入内容的处理不一样:

问题根源

  • 在Ubuntu里用echo "hello world"时,echo默认会在字符串末尾偷偷加一个换行符(\n),所以实际参与MD5计算的内容是 hello world\n
  • 但在PowerShell里,你直接传的"hello world"是纯字符串,没有额外的换行符,计算哈希的内容就是 hello world,两者内容不一样,哈希自然不匹配。

快速验证与修复

方法1:让Ubuntu输出和PowerShell一致的哈希

在Ubuntu中给echo加-n参数,强制不添加换行符,这样计算的就是和PowerShell一样的纯文本哈希:

echo -n "hello world" | md5sum

这时候得到的哈希就是 E42B054623B3799CB71F0883900F2764,和PowerShell的结果完全匹配。

方法2:让PowerShell输出和Ubuntu默认一致的哈希

如果需要PowerShell计算带换行的内容,只需要在字符串后面加上PowerShell的换行符(`n)再计算:

"hello world`n" | Get-Hash -Algorithm MD5

此时生成的哈希就会和Ubuntu默认echo "hello world" | md5sum的结果一致啦。

内容的提问来源于stack exchange,提问作者Jigar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:49:04