我有简单的RSA python脚本:
import Crypto.PublicKey.RSA
import rsakey
from Crypto.PublicKey import pubkey
# Some global stuff
impl = Crypto.PublicKey.RSA.RSAImplementation(use_fast_math = True)
RSAObj = impl.construct(rsakey.RSAKeys)
def decrypt(encrypted):
return RSAObj.decrypt(encrypted)
当我尝试运行它时,我的CLI显示错误:
追踪(最近的呼叫最后):
文件“otrsa.py”,第6行,in impl = Crypto.PublicKey.RSA.RSAImplementation(use_fast_math = True)AttributeError:'module'对象没有属性 'RSAImplementation'
我是Python新手,我不知道它意味着什么。 我会感谢任何帮助。
答案 0 :(得分:3)
Crypto.PublicKey.RSA包含一个名为RSAImplementation的类(请参阅http://www.dlitz.net/software/pycrypto/apidoc/Crypto.PublicKey.RSA.RSAImplementation-class.html)。
以下适用于我(在32位Windows上的Python 2.7.1中):
import Crypto.PublicKey.RSA
impl = Crypto.PublicKey.RSA.RSAImplementation()
请注意,默认情况下,如果可用,将使用快速数学运算。强制use_fast_math只会导致运行时错误(如果不可用)。
答案 1 :(得分:0)
嗯,我得到了同样的错误 - 也许是文档和代码之间的一些错过匹配?
我使用pyCrypto有点小,我发现M2Crypto整体上是一个更好的库 - 你可能想尝试一下。
答案 2 :(得分:0)
这意味着Crypto.PublicKey.RSA没有名为'RSAImplementation'的函数/变量