c# - 如何将 C# 代码重写为 python - 计算 SHA1
问题描述
我有 C# 代码,它计算 SHA1,我想知道如何将它重写为 Python。
我的 Python 代码没有给出与 C# 相同的输出
C#:
protected override string GetSign(string str)
{
var UE = new UnicodeEncoding();
var MessageBytes = UE.GetBytes(str);
var SHhash = new SHA1Managed();
m_signature = SHhash.ComputeHash(MessageBytes);
return Encoding.UTF8.GetString(m_signature);
}
Python:
sha_1 = hashlib.sha1()
sha_1.update(tmp.encode('utf-8'))
result = sha_1.hexdigest()
解决方案
就像@xdtTransform 说 sha1 已经过时了。我假设您的 c# 代码太旧了。如果你在 python 中重构它,最好使用下面的 SHA256。
result = hashlib.sha256(tmp.encode('utf-8')).hexdigest()
推荐阅读
- python - 如何检查是否在 Tkinter 中选择了 Radiobutton?
- python - 对齐线性公式
- javascript - 使用 Javascript 对类名发生变化的网站进行 Web 抓取
- aws-lambda - 使用 aws lambda 函数获取对 S3 存储桶的请求
- user-interface - 如何在 go winc gui windows 库 OnDropFiles 事件中获取文件名
- javascript - 未捕获的 TypeError:juego 不是构造函数
- c++ - CreateWindowW() 第一次失败,然后工作 [C++]
- c# - 部署在 Azure 上的 Web 应用程序未返回 UTC 日期时间
- angular - Angular 中的“未知”类型上不存在属性“exhibitPhotos”
- arrays - 使用数组中的所有值执行任务(Swift、Firebase)