我想用PyCrypto來加密/解密一些字符串,而且我遇到了中文字符的問題。PyCrypto:使用RSA非對稱密鑰編碼中文字符
當我嘗試加密 「妮浩」(你好)...
pemFile = open("/home/borrajax/keys/myKey.pem", "r")
encryptor = RSA.importKey(pemFile, passphrase="f00")
return encryptor.encrypt("你好", 0)[0]
...我不斷收到錯誤:
Module Crypto.PublicKey.pubkey:64 in encrypt
>> ciphertext=self._encrypt(plaintext, K)
Module Crypto.PublicKey.RSA:92 in _encrypt
>> return (self.key._encrypt(c),)
ValueError: Plaintext too large
我已經嘗試了許多組合,
encryptor.encrypt(u"你好"...
encryptor.encrypt(u"你好".encode("utf-8")...
無 運氣好的話。
我想我總是可以嘗試在編碼之前使用的base64,但我想離開這個作爲「最後手段」 ......我希望這樣做的更加「優雅」的方式。
有沒有人遇到同樣的問題?任何暗示將不勝感激。先謝謝你。