2015-08-28 80 views
1

我想用RSA私钥签名的签名,并与SHA-256 但即时编码它总是有这种错误Python的RSA私有密钥签名错误

TypeError: Unicode-objects must be encoded before hashing 

这里是代码片段:

private_key = rsa.PrivateKey.load_pkcs1(open('private.pem', 'rb').read()) 
signature = rsa.sign(sign, private_key, 'SHA-256') 

你能帮我吗?

回答

1

编码为“utf-8”应该适合您。

private_key = rsa.PrivateKey.load_pkcs1(open('private_key.pem', 'rb').read()) 
signature = rsa.sign(sign.encode("utf-8"), private_key, 'SHA-256')