openSSL使用CLI进行加密,使用ruby无法解密

时间:2017-10-03 18:23:52

标签: ruby encryption openssl

我正在使用openSSL CLI工具加密数据,我想在我的ruby应用程序中的另一台机器上解密该数据。我无法解密数据,我不确定两者之间没有排队。我真的很感激任何帮助,下面是我正在运行的:

CLI工具

$ export PASS=EncryptDecryptSuperSecretKeyNoOne123456789123456789
$ echo 'someTextIWantToEncrypt' | openssl enc -aes-256-ecb -base64 -e -k $PASS
:> U2FsdGVkX18Gboawkim6n6Ps/yssGaOZkdb1e6I4VyOZDUcqEh2uYdT8jxUydplX

Ruby应用程序

require 'openssl'
require 'base64'

module Aes

  KEY = "EncryptDecryptSuperSecretKeyNoOne123456789123456789"
  ALGORITHM = 'AES-256-ECB'

  def self.decrypt(msg)
    begin
      cipher = OpenSSL::Cipher.new(ALGORITHM)
      cipher.decrypt
      cipher.key = KEY
      tempkey = Base64.decode64(msg)
      crypt = cipher.update(tempkey)
      crypt << cipher.final
      return crypt
    rescue Exception => exc
      puts ("Message for the decryption log file for message #{msg} = #{exc.message}")
    end
  end
end

当我致电Aes.decrypt("U2FsdGVkX18Gboawkim6n6Ps/yssGaOZkdb1e6I4VyOZDUcqEh2uYdT8jxUydplX")时,会引发错误bad decrypt

我遗失或不包括什么?欧洲央行不要求IV。还有别的吗?

0 个答案:

没有答案