OpenSSL::Cipher::Cipher#padding= でパディング処理の有無を制御できる。では実際にどのようなパディング処理が行われているのだろう? 暗号化時にはパディングを有効にして、復号時に無効にすれば確認できる。 # Ruby 1.8.7 or 1.9 require 'openssl' def enc_dec_base(operation) password = 'fixed password' lambda do | cipher, data, padding | c = OpenSSL::Cipher::Cipher.new(cipher) c.send(operation) c.padding = padding c.pkcs5_keyivgen(password) c.update(data) + c.final end end encrypt = enc_de