RSA.gen_key函数在用于生成密钥时始终要求输入密码。有没有办法从python代码中提供密码而不是手动输入?
答案 0 :(得分:3)
只有当您尝试保存密钥并选择使用密码时才会要求输入密码。只需传递“cipher = None”作为参数。
例如:
key=RSA.gen_key(2048, 65537)
key.save_pem('./privkey',cipher=None)
但正如Heikki所说,密钥生成不需要密码。仅在您选择使用加密时保存。
答案 1 :(得分:1)
据我所知,它并没有要求输入密码:
In [1]: from M2Crypto import RSA
In [2]: r=RSA.gen_key(1024, 65537)
..++++++
.......................................++++++
In [3]:
如果您不喜欢该输出,则可以提供自定义回调功能。请参阅documentation和tests。
如果你的意思是它在调用save_pem()
方法时要求密码短语,那你就是对的:默认会要求输入密码。但同样,您可以提供自己的回调,以编程方式提供密码。