ruby on rails - Encriptar, desencriptar usando Rails
ruby-on-rails encryption (2)
Hace un tiempo vi la posibilidad de descifrar y encriptar cadenas en rieles sin incluir ninguna biblioteca, pero no puedo encontrar la publicación del blog.
Quiero ser capaz de cifrar y descifrar cadenas sin incluir nada. Usar la misma clave tiene para todo lo demás en los rieles, por ejemplo, las cookies firmadas.
¿Algunas ideas?
¿Te refieres a este ?: ActiveSupport::MessageEncryptor . Esta es la forma de reutilizar el secreto de la aplicación Rails 4:
crypt = ActiveSupport::MessageEncryptor.new(Rails.application.secrets.secret_key_base)
encrypted_data = crypt.encrypt_and_sign(''my confidental data'')
Y los datos cifrados se pueden descifrar con:
decrypted_back = crypt.decrypt_and_verify(encrypted_data)
Anteriormente, Rails 3 estaba utilizando la opción de configuración secret_token
y los métodos de secret_token
se secret_token
.
Rails 5 requiere que la clave tenga 32 bytes.
Edit to Rails 4 respuesta que funciona para Rails 5:
key = SecureRandom.random_bytes(32)
crypt = ActiveSupport::MessageEncryptor.new(key)
encrypted_data = crypt.encrypt_and_sign(''my confidental data'')
Descifrar
decrypted_back = crypt.decrypt_and_verify(encrypted_data)