Ruby OpenSSL :: Cipher :: CipherError: неверная конечная длина блока - PullRequest
0 голосов
/ 26 февраля 2019

Я использую 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

конец

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...