Rails-devise:生成encrypted_pa​​ssword值(适用于测试用户)

时间:2011-09-19 10:51:33

标签: ruby-on-rails devise blowfish bcrypt

要测试我的Rails / Devise应用程序,我想创建100个用户并以其身份登录。

我尝试了以下内容:

INSERT INTO users (id,email,encrypted_password)
  VALUES (11,"test1@example.com",
    "$2a$10$VQJ9lT78.e1dtyAnkng1/ey9euL6hK/kUNQMDv8VJMAovXpuVNDZG");

对于encrypted_password,我刚刚复制了密码为testtest的其他用户的值

问题:我无法使用密码test1@example.com

testtest身份登录

我怀疑encrypted_password有盐,我需要一个工具来生成它。 config.encryptorbcrypt。我安装了bcrypt(Linux),但是手册页非常简短,只解释了如何加密文件,所以我想这不是最方便的加密密码的工具。

如何快速创建100个盐渍密码?
比注册100倍更快。

1 个答案:

答案 0 :(得分:5)

从测试中制作u = User.create(:email => 'youruser@mail.com', :password => 'testtest', :password_confirmation => 'testtest')然后u.confirm!(如果您使用的是可确认模块)应该正确地为用户生成encrypted_pa​​ssword。

无论如何,你应该考虑使用灯具或蓝图进行测试。