Ruby on rails OpenSSL::Cipher::CipherError·;数据不是块长度的倍数

Ruby on rails OpenSSL::Cipher::CipherError·;数据不是块长度的倍数,ruby-on-rails,ruby,encryption,cryptography,blowfish,Ruby On Rails,Ruby,Encryption,Cryptography,Blowfish,我正在使用base64编码的河豚加密双值第三方API数据 有了一个给定的密钥,我就可以解密了 我的解密方法如下所示: def blowfish_解码(base64_编码_加密_值,md5key) 未打包的_键=[md5key].pack('H*') 加密的\u值=Base64.decode64(Base64\u编码的\u加密的\u值) #创建没有填充的密码 cipher=OpenSSL::cipher.new('bf-ecb')。解密 cipher.key=未打包的密钥 cipher.paddi

我正在使用base64编码的河豚加密双值第三方API数据

有了一个给定的密钥,我就可以解密了

我的解密方法如下所示:

def blowfish_解码(base64_编码_加密_值,md5key)
未打包的_键=[md5key].pack('H*')
加密的\u值=Base64.decode64(Base64\u编码的\u加密的\u值)
#创建没有填充的密码
cipher=OpenSSL::cipher.new('bf-ecb')。解密
cipher.key=未打包的密钥
cipher.padding=0

str=cipher.update(加密的_值)可能是输入使用的是URL安全的base64,而不是普通的base64。尝试使用。这将有助于获得导致错误的实际示例数据。
OpenSSL::Cipher::CipherError · data not multiple of block length