Ruby OpenSSL::Cipher::CipherError: неверная конечная длина блока
Я использую OpenSSL::Cipher.new('AES-256-CBC')
в encrypt
а также decrypt
файл. Когда я запускаю код ниже в консоли rails, он работает нормально. Но, когда пробегают работу wrong final block length
исключение поднимается в cipher.final
tmp_file
ссылка на файл GCS
Encrypt.generate_enc_keys
это поколение ключей lib
с помощью OpenSSL::PKCS5.pbkdf2_hmac
def generate_decrypted_agreement tmp_file
cipher = OpenSSL::Cipher.new('AES-256-CBC')
cipher.decrypt
cipher.key = Encrypt.generate_enc_keys('testkey1234', 'test', 10, 32)
cipher.iv = Encrypt.generate_enc_keys('testiv1234', 'test', 10, 16)
buf = ''
File.open("la.pdf", "wb") do |outf|
open(tmp_file) do |inf|
while inf.read(4096, buf)
outf << cipher.update(buf)
end
outf << cipher.final
end
end
конец