次のコードを書くと
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $raw, MCRYPT_MODE_CBC, $iv);
ルビーで書くには?
回答:
回答№1は1以下は、OpenSSLを使用したRubyと同等のものです。
cipher = OpenSSL::Cipher::Cipher.new("aes-128-cbc")
cipher.encrypt
cipher.key = key
cipher.iv = iv
encrypted = cipher.update(raw)
encrypted << cipher.final
回答№2の場合は1
これにはopensslライブラリを使用できます。対称鍵暗号化のために必要なものはここにあると思います:
http://stuff-things.net/2008/02/05/encrypting-lots-of-sensitive-data-with-ruby-on-rails/
回答№3の場合は0
できる エズクリプト 助けて?デフォルトでは、標準のaes-128-cbcを使用しますが、他のアルゴリズムを知っています。
回答№4の場合は0
MCRYPT_RIJNDAEL_128は16バイトのブロックサイズを示し、3つのキーサイズが可能です。
$ key〜16バイト(AES-128)
cipher = OpenSSL::Cipher::Cipher.new("aes-128-cbc")
$ key〜24バイト(AES-192)
cipher = OpenSSL::Cipher::Cipher.new("aes-192-cbc")
$ key〜32バイト(AES-256)
cipher = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
そして、次のコードを使用して暗号化を実行できます
cipher.encrypt
cipher.key = key
cipher.iv = iv
encrypted = cipher.update(raw)
encrypted << cipher.final