私はRubyの新機能です。この質問が単純ならば謝ります。私は、キーを使用して文字列を暗号化するように、レールアプリケーションを更新する必要があります。これはdjangoで書かれたapiに渡され、暗号化された文字列は同じキーを使って解読されます。私はPythonで次のコードを持っていますが、Rubyで関連するメッセージを暗号化する方法がわかりません。どんな助けもありがとう。Rubyで文字列を暗号化し、Pythonで復号化する
import base64
from Crypto.Cipher import AES
from Crypto import Random
class AESCipher:
def __init__(self, key):
self.key = key
def encrypt(self, raw):
raw = pad(raw)
iv = Random.new().read(AES.block_size)
cipher = AES.new(self.key, AES.MODE_CBC, iv)
return base64.b64encode(iv + cipher.encrypt(raw))
def decrypt(self, enc):
enc = base64.b64decode(enc)
iv = enc[:16]
cipher = AES.new(self.key, AES.MODE_CBC, iv)
return unpad(cipher.decrypt(enc[16:]))
私はそれが毎日のルビーユーザーにとって本当に簡単な質問ではないと思います。暗号化/復号化を下位のシステムに委譲する方が簡単かもしれません(つまりシェルコマンドを実行する)。そうすれば、RubyとPythonの両方で同じAPIを使用できます。 –
答えが更新され、あなたの質問に完全に答える必要があります。 –