[英]RSA Encrypt and Decrypt between JS and Python(pycrypto)
我從JS RSA Library( http://www-cs-students.stanford.edu/~tjw/jsbn/ )加密純文本,並從python,Crypto.PublicKey解密。
但是,當我用JS解密來自JS的密文時,它有虛擬文本。 我不知道他們為什么。
所以,我想要沒有虛擬的明文。(例如測試)
在Python中創建密鑰對。
key = RSA.generate(1024) #(publicKey, privateKey)
保存模數,JS中的指數和加密“測試”
var rsa = new RSAKey(); rsa.setPublic(modulus, exponent); //modulus and exponent hex string rsa.encrypt("test");
結果(十六進制字符串):d0ab7e22f92adcca7182e3c622b513382d163033df5ca0f3c0327e8a1774258800ae57dfc98522f5ed40a4bed2f4b54f46ea800ff1ef522b104b0f874a598f6bbcf5453506f8bf2f8aa3b04b0c73f0018564707304b3a059326d51945d3ff0282d63c2c4c1ea6ba5a2172af83ef8bdc1d104a8d67ba95ee97ab89b36cd5c34d4
在Python中使用PrivateKey解密
key.decrypt(above_result.decode('hex'))
結果:\\ 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 \\ XE6 \\ XC6 \\ XCF ^ \\ X92 \\ XA2 \\ xe2X \\ XE4 \\ XAF | \\ x8aS \\ XFE \\ XD3 \\ X84)\\ XC3 \\ X82 \\ XDC \\ XD1 \\ 0x7F部分\\ 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模塊 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.