我正在尝试使用Crypto库解密加密的openSSL证书。 为此,我使用以下函数:
def decryptMessage(privateKeyString, encryptedMessage):
print 'Enter private key pass phrase'
passPhrase = raw_input()
privateKey= RSA.importKey(privateKeyString, passPhrase)
return privateKey.decrypt(ast.literal_eval(str(encryptedMessage)))
此功能适用于小字符串,例如foo
或lorem ipsum
。
但是,当我尝试解密较大的字符串(如OpenSSL证书)时,解密失败并返回此
#«$,^5ô¦┬{¯9██─╚áW¸ÍÀóÂ╗ö▓├ô{Òv&s´À;d▒§= I×òòòÿÞ:Mu▄ñ├Zc╬a╣fÙ╚g╝z¯¹þÞÖ*└²}?õÑ:~Ì ôı*▓açõ─░3Ñz{³é├ p}7Ĭ/tıN®╣¥‗Pzô£▄¤▄╩Ý,æQ'mfî.«¯┴C%tÏýõ/ñlÚ0╗ò¼(Ï5▓ø5Ì└ûƒuƒä£█ÂF=)─y@O~§LßÆ▄Ð░mËÅ9Uwõh▀Û/▓Ï,APð HѪm■Îç¼"§Ô,XvÓÏÄÃM■▓v╠@örÂùuE
因此,我想知道我的函数无法解密更大的字符串。
答案 0 :(得分:1)
RSA用于en / decrypting小块数据,例如: G。随机数,然后用于使用像AES这样的分组密码来进行通信/解密通信。 RSA等非对称加密算法根本不支持大块数据。
您的方法似乎缺乏正确加密所需的知识。这非常危险。我建议看看“加密”Python包,其中包含您需要的所有内容:https://pypi.python.org/pypi/cryptography
还有一些非常好的Youtube视频演示,在观众面前,这个软件包的开发人员在演讲中解释了如何使用它们以及如何开发Ising.f90:56:15:
else if (i == 1 .AND. 1 < j < L) then
1
Error: Unexpected junk after ELSE statement at (1)
Ising.f90:59:15:
else if (i == L .AND. 1 < j < L) then
1
Error: Unexpected junk after ELSE statement at (1)
Ising.f90:62:15:
else if (1 < i < L .AND. j == 1) then
1
Error: Unexpected junk after ELSE statement at (1)
Ising.f90:65:15:
else if (1 < i < L .AND. j == L) then
1
Error: Unexpected junk after ELSE statement at (1)
。