Мне нужно выполнить шифрование и дешифрование в моем приложении rails. Я пытаюсь использовать ezcrypto, но всякий раз, когда я расшифровываю, я получаю эту ошибку.
OpenSSL::Cipher::CipherError in ProfilesController#show
wrong final block length
Что нужно изменить, чтобы остановить эту ошибку. Я пробовал использовать другую реализацию openssl, подобную этой (методы, которые будут вызываться из моей модели)
def encrypt_attr(unencrypted)
c = OpenSSL::Cipher.new("aes-256-cbc")
c.encrypt
c.key = Digest::SHA1.hexdigest('pass')
e = c.update(unencrypted)
e << c.final
return e
end
def decrypt_attr(encrypted_attr)
if encrypted_attr != ""
c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
c.decrypt
c.key = Digest::SHA1.hexdigest('pass')
d = c.update(encrypted_attr)
d << c.final
return d
end
end
Она выдает точно такую же ошибку при расшифровке. Как мне сделать шифрование и дешифрование и не получить эту ошибку openssl.