Commit f8c24bf813deead94b3bac788def6db4d9d9a1ae
1 parent
401a2773
Exists in
master
and in
29 other branches
Add support for salted_md5 passwords
Showing
2 changed files
with
10 additions
and
0 deletions
Show diff stats
app/models/user.rb
| @@ -201,6 +201,10 @@ class User < ActiveRecord::Base | @@ -201,6 +201,10 @@ class User < ActiveRecord::Base | ||
| 201 | Digest::MD5.hexdigest(password) | 201 | Digest::MD5.hexdigest(password) |
| 202 | end | 202 | end |
| 203 | 203 | ||
| 204 | + add_encryption_method :salted_md5 do |password, salt| | ||
| 205 | + Digest::MD5.hexdigest(password+salt) | ||
| 206 | + end | ||
| 207 | + | ||
| 204 | add_encryption_method :clear do |password, salt| | 208 | add_encryption_method :clear do |password, salt| |
| 205 | password | 209 | password |
| 206 | end | 210 | end |
test/unit/user_test.rb
| @@ -190,6 +190,12 @@ class UserTest < ActiveSupport::TestCase | @@ -190,6 +190,12 @@ class UserTest < ActiveSupport::TestCase | ||
| 190 | assert_equal '098f6bcd4621d373cade4e832627b4f6', user.crypted_password | 190 | assert_equal '098f6bcd4621d373cade4e832627b4f6', user.crypted_password |
| 191 | end | 191 | end |
| 192 | 192 | ||
| 193 | + | ||
| 194 | + def test_should_support_salted_md5_passwords | ||
| 195 | + user = new_user(:login => 'lalala', :email => 'lalala@example.com', :password => 'test', :password_confirmation => 'test', :password_type => 'salted_md5', :salt => 'test') | ||
| 196 | + assert_equal '05a671c66aefea124cc08b76ea6d30bb', user.crypted_password | ||
| 197 | + end | ||
| 198 | + | ||
| 193 | def test_should_support_crypt_passwords | 199 | def test_should_support_crypt_passwords |
| 194 | user = new_user(:login => 'lalala', :email => 'lalala@example.com', :password => 'test', :password_confirmation => 'test', :password_type => 'crypt', :salt => 'test') | 200 | user = new_user(:login => 'lalala', :email => 'lalala@example.com', :password => 'test', :password_confirmation => 'test', :password_type => 'crypt', :salt => 'test') |
| 195 | assert_equal 'teH0wLIpW0gyQ', user.crypted_password | 201 | assert_equal 'teH0wLIpW0gyQ', user.crypted_password |