過去 1 年間、アプリで次のコードを使用しており、このコードを使用して 200k の記録があります。
options = { :algorithm => 'aes-256-cbc', :value => "changethis", :key => "secretkey" }
cipher = OpenSSL::Cipher::Cipher.new(options[:algorithm])
cipher.send(:encrypt)
cipher.pkcs5_keyivgen(options[:key])
result = cipher.update(options[:value])
result << cipher.final
# => "x\xED\x14s\xFD\x0E\x97\xC5\x996[M\x1E\x94\xDEI"
正しく行うために、 (業務上)pkcs5_keyivgen
パーツをリファクタリングする必要があります。たとえば、
options = { :algorithm => 'aes-256-cbc', :value => "changethis", :key => "secretkey" }
cipher = OpenSSL::Cipher::Cipher.new(options[:algorithm])
cipher.send(:encrypt)
cipher.key = '' # ??? 1) How does pkcs5_keyivgen in above code generate key, or does it just use my options[:key]
cipher.iv = '' # ??? 2) How does pkcs5_keyivgen in above code generate iv
result = cipher.update(options[:value])
result << cipher.final
pkcs5_keyivgen
と をどのように設定するかを理解する必要がkey
ありiv
ます。ここでアイデア?ruby-1.9.3-p286 と encryptor-1.1.3 を使用しています。