yum*_*ere 5 javascript python rsa pycrypto jsbn
我从JS RSA库(http://www-cs-students.stanford.edu/~tjw/jsbn/)加密纯文本,然后从python Crypto.PublicKey解密。
但是,当我使用python从JS解密密文时,它具有伪文本。我不知道为什么。
因此,我想要没有伪内容的明文。(例如测试)
在Python中制作密钥对。
key = RSA.generate(1024) #(publicKey, privateKey)
Run Code Online (Sandbox Code Playgroud)保存模数,JS中的指数并加密“测试”
var rsa = new RSAKey();
rsa.setPublic(modulus, exponent); //modulus and exponent hex string
rsa.encrypt("test");
Run Code Online (Sandbox Code Playgroud)
导致(十六进制字符串):d0ab7e22f92adcca7182e3c622b513382d163033df5ca0f3c0327e8a1774258800ae57dfc98522f5ed40a4bed2f4b54f46ea800ff1ef522b104b0f874a598f6bbcf5453506f8bf2f8aa3b04b0c73f0018564707304b3a059326d51945d3ff0282d63c2c4c1ea6ba5a2172af83ef8bdc1d104a8d67ba95ee97ab89b36cd5c34d4
在Python中使用PrivateKey解密
key.decrypt(above_result.decode('hex'))
Run Code Online (Sandbox Code Playgroud)
结果:\ x02 \ xf0 \ xae \ xafK \ xd3 \ x17 \ xfc \ xf4 \ xd6 \ xd9 = \ xee7 \ x04 \ x94 \ xea \ x9c \ xd8 \ xf7-\ x19 \ x05 $!'#\ xad \ x82'\ xfcKG \ xadK \ xb6_ \ xabMZ:\ x9dU \ xa4 \ xc0 [\ x8c \ xa6hC \ x93 \ xf7 \ xbc \ xf1:\ x9f \ x107D \ xe8 \ xfe \ x07R \ x8c \ xd7 \ xb3 \ xe xc6 \ xcf ^ \ x92 \ xa2 \ xe2X \ xe4 \ xaf | \ x8aS \ xfe \ xd3 \ x84)\ xc3 \ x82 \ xdc \ xd1 \ x7f \ xc9 \ x12 \ xd0 \ x94 \ xd2jS \ xee \ x83 \ xfda \ xc6 \ xc7d \ xdd \ x0b2 \ xe6 \ x1d \ x84 \ x0c \ x93 \ x8aK \ xc2 \ x10U \ xc0Y〜\ xbf \ x15 \ xfa \ x00 测试
pycrypto rsa decrypt() 方法是一种低级方法,因此您将获得预期的输出,即 PKCS#1、版本 1.5、块类型 2 字节数组。由于您似乎发现这不方便,因此您应该遵循API 文档中的建议,而使用PKCS1_v1_5 模块。
| 归档时间: |
|
| 查看次数: |
1841 次 |
| 最近记录: |