我希望能够在python中单独从密码生成和重新生成相同的RSA密钥。在
目前我使用的是pycrypto,但是,它似乎不能单独从密码生成相同的密钥。原因似乎是,当pycrypto生成RSA密钥时,它在内部使用某种随机数。在
目前我的代码如下:import DarkCloudCryptoLib as dcCryptoLib #some costume library for crypto
from Crypto.PublicKey import RSA
password = "password"
new_key1 = RSA.generate(1024) #rsaObj
exportedKey1 = new_key1.exportKey('DER', password, pkcs=1)
key1 = RSA.importKey(exportedKey1)
new_key2 = RSA.generate(1024) #rsaObj
exportedKey2 = new_key2.exportKey('DER', password, pkcs=1)
key2 = RSA.importKey(exportedKey2)
print dcCryptoLib.equalRSAKeys(key1, key2) #wish to return True but it doesn't
我不在乎是否必须不使用pycrypto,只要我能单独从密码和盐中生成这些RSA密钥。在
提前谢谢你的帮助。在
仅供参考,这是怎么做的dcCryptoLib.equalRSAKeys(key1,key2)函数如下所示:
^{pr2}$
注意:另外,我只使用RSA进行身份验证。因此,对于我的应用程序来说,任何提供生成安全非对称签名/验证方法的解决方案都是可以接受的。不过,我觉得从密码生成RSA密钥也是一个应该回答的问题,因为如果使用正确,这个问题似乎很有用。在