Как я могу зашифровать строку с MD5 в Rails 3.0? pass = MD5.hexdigest(pass)
в модели uninitialized constant MyModel::MD5
RoR - генерация MD5
ответ
Для этого можно использовать Digest::MD5
из стандартной библиотеки Ruby.
irb(main):001:0> require 'digest/md5'
=> true
irb(main):002:0> Digest::MD5.hexdigest('foobar')
=> "3858f62230ac3c915f300c664312c63f"
И еще одно: MD5 - алгоритм хеширования. Вы не шифруете ничего с помощью алгоритма хеширования.
'Дайджест :: MD5.hexdigest ('foobar')' работал –
Еще одна вещь: MD5 в основном был сломан (в криптографическом смысле) и больше не должен использоваться. Если вы запустите новый программный проект, используйте более сильный алгоритм хэширования, такой как SHA512 или bcrypt, и не забудьте добавить соль к своим паролям перед их хэшированием. – joschi
MD5 прерван для криптографических целей, но все еще может использоваться для сравнения файлов. Гит все еще использует его. BUT DON "T HASH PASSWORDS WITH MD5 – AlexQueue
Возможно, вы захотите проверить это сообщение о том, почему использование MD5/SHA в качестве части вашей схемы аутентификации является плохим выбором: http://codahale.com/how-to-safely-store-a-password/ –
A точка терминологии: хеширование, используя, например, алгоритм MD5, не * шифрование *. Вы шифруете что-то, когда вы также можете захотеть * расшифровать * его. Обычно вы не можете определить исходное сообщение из хеша, и часто это именно то, что нужно использовать алгоритму хэширования. – Confusion