【发布时间】:2016-03-31 11:39:21
【问题描述】:
我安装了Python-RSA 用于在我的python 项目中使用rsa 算法,但是当我想使用它时出现这个错误:
import rsa
(public_key, private_key) = rsa.newkeys(1024, accurate=True, poolsize=8)
以上代码来自official Doc
我检查了 newkeys() 函数的模块文件并且这个函数存在
def newkeys(nbits, accurate=True, poolsize=1):
if nbits < 16:
raise ValueError('Key too small')
if poolsize < 1:
raise ValueError('Pool size (%i) should be >= 1' % poolsize)
if poolsize > 1:
from rsa import parallel
import functools
getprime_func = functools.partial(parallel.getprime, poolsize=poolsize)
else: getprime_func = rsa.prime.getprime
(p, q, e, d) = gen_keys(nbits, getprime_func)
n = p * q
return (PublicKey(n, e), PrivateKey(n, e, d, p, q))
__all__ = ['PublicKey', 'PrivateKey', 'newkeys']
if __name__ == '__main__':
import doctest
try:
for count in range(100):
(failures, tests) = doctest.testmod()
if failures:
break
if (count and count % 10 == 0) or count == 1:
print('%i times' % count)
except KeyboardInterrupt:
print('Aborted')
else:
print('Doctests done')
这里有什么问题?
【问题讨论】:
-
python -c "import rsa; print (dir(rsa)); print (rsa.__file__)"的输出是什么? -
同样的错误@GregoryNisbet .....我现在正在编辑
-
你是通过
pip还是通过复制文件来安装python-rsa模块的? -
您可以尝试将
H:\Work\Python-Django\Projects\RSA\rsa.py中的文件重命名为其他名称,然后再次运行它并查看错误是否更改?另外,您的rsa.py文件是做什么用的?从好的方面来说,您的python-rsa模块似乎已正确安装并包含newkeys方法。 -
我想先测试这个模块,然后在我的项目中使用它.....通过重命名文件我没有任何错误,但是关于模块功能的很多很多行的描述,我可以'不明白他们中的任何一个..... oooooh :( @GregoryNisbet
标签: python algorithm encryption cryptography rsa