какая соль используется в волшебстве? - PullRequest
0 голосов
/ 20 сентября 2018

Как именно волшебство аутентифицирует пользователя?Что такое соль и как изменить имена столбцов колдовства по умолчанию?

create_table "users", force: :cascade do |t|
  t.string   "email", null: false
  t.string   "crypted_password"
  t.string   "salt"
  t.datetime "created_at"
  t.datetime "updated_at"
end

1 Ответ

0 голосов
/ 20 сентября 2018

В стандартной криптографии используется ' salt ' для обеспечения большей безопасности хэшей паролей.В Волшебстве это делается путем присоединения случайной строки к концу пароля и запоминания этой строки в поле соли.

Поэтому при шифровании нового пароля псевдокод имеет вид:

hashing_algorithm('passed in password' + salt) => crypted_password

и при проверке подлинности сравнение выглядит следующим образом (Волшебство фактически переопределяет «совпадения?»):

crypted_password == hashing_algorithm('passed in password' + salt)

Таким образом, даже если один и тот же пароль используется несколькими пользователями, из данных не видно, как разныехеш будет генерироваться каждый раз.

...