使用ruby中的密码加密字符串

时间:2014-03-16 10:29:42

标签: ruby encryption

我想从用户那里获得一些输入并用密码加密。例如,用户给我:

String: 'Whackabad'
Password 'Holycrap'

我想存储他们的字符串,加密,但能够在用户输入密码时再次解密字符串。实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

您可以使用encrypted_strings gem:

data = 'Whackabad'
password = 'Holycrap'
encrypted = data.encrypt(:symmetric, :algorithm => 'des-ecb', :password => password) 
# => "N6gLAAL9d9lRjHUbh54Ctw==\n"

encrypted.decrypt(:symmetric, :algorithm => 'des-ecb', :password => password) 
# => "Whackabad"

此解决方案加密或将密码存储在任何位置 - 它会加密该数据,只有知道密码的人才能解密数据。

如果您不希望任何人(包括网站管理员)在没有正确密码的情况下解密数据,这是一个很好的解决方案。

答案 1 :(得分:-1)

使用devise。这是一个完整的身份验证解决方案。