Как хешировать пароли в MySQL?

Ваш HTML верен, но независимо от того, что вы используете Unicode в CSS, это неправильно, поэтому он не работает должным образом.

<i class="fab fa-facebook-f"> unicode is f39e

<i class="fab fa-twitter"> unicode is f099

<i class="fab fa-instagram"> unicode is f16d
7
задан santanu 1 April 2009 в 08:16
поделиться

5 ответов

UPDATE table SET Password = MD5(Password)

Я скажу, хотя это, MD5 не является очень хорошим уровнем шифрования и необходимо считать что-то более сильным те, которые ШИФРУЮТ с пользовательской солью. Читайте об этом здесь

Править: Похож на исходный измененный вопрос. Вот измененный запрос для размещения

UPDATE table SET Password = MD5(Password) WHERE ID!=[specified index]

Править: Стоящий замечания

Взломанное шифрование MD5

12
ответ дан 6 December 2019 в 06:38
поделиться

Хеш-функции в MySQL

Существует намного больше хеш-функций, чем MD5 для использования для хранения паролей в Вас базы данных MySQL.
Можно найти список их на MySQL:: 11.10.2. Шифрование и Функции Сжатия.

Сохраните пароль (хеш):

UPDATE users SET password = SHA('secret_password') WHERE ....;

Пароль проверки:

SELECT COUNT(*) FROM users WHERE name = 'username' && password = SHA('typed_password');

Если результат> 0, пользователь обеспечил правильный пароль.

4
ответ дан 6 December 2019 в 06:38
поделиться

Отредактированный в ответ на редактирование в OP.

UPDATE userTable
SET password = MD5(password)
WHERE NOT (<criteria to identify row to exclude>)
3
ответ дан 6 December 2019 в 06:38
поделиться

При хешировании паролей не забывайте солить их, так, чтобы те же пароли не приводили к тем же хешам:

SET @salt := CONV(FLOOR(RAND() * 0x100000000), 10, 16)

UPDATE  passwords
SET     password = CONCAT(@salt, SHA(CONCAT(@salt, @typed_password)))

SELECT  1
FROM    passwords
WHERE   SHA(CONCAT(SUBSTRING(password, 1, 8), @typed_password)) = SUBSTRING(password, 9, 40)
3
ответ дан 6 December 2019 в 06:38
поделиться

Касающийся Вас отредактируйте: у Вас есть идентификатор или имя пользователя, которое определяет эту строку?

UPDATE mytable
SET password = MD5(password)
WHERE id <> 123
3
ответ дан 6 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: