/ / PHPのmcrypt_encrypt()関数に相当するRubyのコーディング方法-ルビー、暗号化

どのようにRubyをPHPのmcrypt_encrypt()関数と同等のものにするか - Ruby、暗号化

次のコードを書くと

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つのキーサイズが可能です。

  1. $ key〜16バイト(AES-128)

    cipher = OpenSSL::Cipher::Cipher.new("aes-128-cbc")

  2. $ key〜24バイト(AES-192)

    cipher = OpenSSL::Cipher::Cipher.new("aes-192-cbc")

  3. $ 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