首页 > 解决方案 > 如何将 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()

标签: c#python

解决方案


就像@xdtTransform 说 sha1 已经过时了。我假设您的 c# 代码太旧了。如果你在 python 中重构它,最好使用下面的 SHA256。

result = hashlib.sha256(tmp.encode('utf-8')).hexdigest()

推荐阅读