2017-12-29 38 views
0

私はPythonを使用してクローラを作成しています。 WebサイトはJSEncryptを使用してパスワードを暗号化します。python RSA暗号化はJSEncryptと異なりますか?

var pubkey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDB3Xn/+WP5OVbA8hCj3zuTlqAJ+CVt5UPHi1TYTbsBzEZ0W0+tgn9YElA9hNIi5ElFTicpGCYW4w+B2zmniSLKy3sqItT1wNCt6zGJ7lkUCkhLSIY4mp9Tqs8hn01/3HNnqDRBPhFcmA99Vy+SOoTUvCOUMiGp4ENruyxkvEp5vwIDAQAB" 
var encrypt = new JSEncrypt(); 
encrypt.setKey(pubkey) 
encrypt.encrypt("123") 

そして、私のPythonのコードは次のとおりです:次のようにJSのコードがある

from Crypto.Cipher import PKCS1_v1_5 
from Crypto.PublicKey import RSA 
import base64 
pubkey = '''-----BEGIN PUBLIC KEY----- 
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDB3Xn/+WP5OVbA8hCj3zuTlqAJ 
+CVt5UPHi1TYTbsBzEZ0W0+tgn9YElA9hNIi5ElFTicpGCYW4w+B2zmniSLKy3sq 
ItT1wNCt6zGJ7lkUCkhLSIY4mp9Tqs8hn01/3HNnqDRBPhFcmA99Vy+SOoTUvCOU 
MiGp4ENruyxkvEp5vwIDAQAB 
-----END PUBLIC KEY-----''' 
rsa_key = RSA.importKey(pubkey) 
cipher = PKCS1_v1_5.new(rsa_key) 
print base64.b64encode(cipher.encrypt("123")) 
しかし、彼らの結果が異なっています。また、私は、これらのコードが呼び出されるたびに異なる暗号化出力を生成することを発見しました。同じキーと平文では、rsaアルゴリズムは同じ出力を返すべきではないでしょうか?

+0

:JSEncryptionはここhttp://travistidwell.com/jsencrypt/example.html見つけることができます。 –

答えて

0

JSEncryptを2回実行してみます。出力は同じですか?

理論上、出力は毎回異なるはずです。ところで

https://stackoverflow.com/a/16329374

+0

ありがとう、コードが動作します。 –

+0

正しい秘密鍵を使用してデータを復号化することができるかどうかの1つの尺度があります。 –