python - 为什么用python和linux命令行程序计算SHA和不一样?
问题描述
我使用 python 来计算字符串的 sha 总和,但两个不同程序的输出不同。
这是我所做的:
~/$ echo "Tuwile@com.termux" | sha256sum
cc85269412339c15a992fb8766f5d1d6e0c2f0fbab990d4fc569d747503d98a2 -
~/$ python
Python 3.9.1 (default, Jan 8 2021, 21:18:33)
[Clang 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489 on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> r=hashlib.sha256("Tuwile@com.termux".encode())
>>> print(r.hexdigest())
40445c42210abea6b0e681b29d15b163692826128c369834ab3b9e63ac8f6527
>>>
解决方案
默认情况下,echo
将行尾添加\n
到输出中,它成为sha256sum
输入的一部分。添加-n
标志以抑制它:
>>> echo -n "Tuwile@com.termux" | sha256sum
40445c42210abea6b0e681b29d15b163692826128c369834ab3b9e63ac8f6527 -
推荐阅读
- c# - 当我尝试使用 List<> 反序列化对象时出现异常
- angular - 角度 CDK 叠加限制位置范围
- python - 这个 jinja 变量赋值有什么问题?
- python - 在“__init__.py”Google 自定义搜索 API 中找不到参考“发现”
- python - 将相同的字典键映射到 Python 中的不同值
- node.js - 有没有一种方法可以让我在nodejs,expressjs中访问请求之外的请求参数
- c++ - 使用 std::transform 构造一个 std::vector。返回未命名结果的可能性?
- php - 阻止 Web 可执行文件类型在特定目录中运行?
- java - 在到达控制器之前和离开控制器之后解密/加密有效载荷
- javascript - 正则表达式以相同的字符开头和结尾