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

конец

0 ответов

Другие вопросы по тегам