PyCrypto を使用して一部の文字列を暗号化/復号化しようとしていますが、漢字に問題があります。
「ニハオ」(こんにちは)を暗号化しようとすると...
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 を使用しようとすることができると思いますが、それを「最後のリソース」として残したいと思います...これを行うためのより「エレガントな」方法を望んでいました。
誰かが同じ問題に遭遇しましたか? ヒントをいただければ幸いです。前もって感謝します。