我有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()
答案 0 :(得分:0)
像@xdtTransform一样,表示sha1已过时。我认为您的C#代码太旧了。如果要在python中进行重构,最好使用如下所示的SHA256。
result = hashlib.sha256(tmp.encode('utf-8')).hexdigest()