Шифрование / дешифрование rails

Мне нужно выполнить шифрование и дешифрование в моем приложении 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.

6
задан jack 19 December 2011 в 03:55
поделиться