Привет, я хочу, чтобы у вас были ваши данныеэто нормально? соление
Я использую это, чтобы генерировать уникальные соли каждому из моих пользователей, когда они регистрируются (случайные буквы и цифры). насколько велика вероятность того, что соли будут пылать?
uniqid(mt_rand());
Затем я использую md5 хэш соль, пароль и адрес электронной почты (в таком порядке) вместе, как пароль и перефразировать при входе в систему.
md5($salt . $password . $email);
Насколько безопаснее, чем просто md5? Что-то я могу улучшить?
CREATE TABLE IF NOT EXISTS `users` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(24) CHARACTER SET utf8 NOT NULL,
`password` varchar(32) CHARACTER SET utf8 NOT NULL,
`email` varchar(255) CHARACTER SET utf8 NOT NULL,
`salt` varchar(255) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Этот вопрос очень похож: http: // stackoverflow.ru/вопросы/1584825/change-from-md5-to-sha1-salting/1585305 и http://stackoverflow.com/questions/1581610/help-me-make-my-password-storage-safe/1581919# 1581919 – Jacco
Вы можете улучшить, не используя MD5 в качестве своего алгоритма хэширования. Есть ли причина, по которой вы выбрали эту? – mrduclaw
«безопаснее» в каком отношении? см. http://stackoverflow.com/questions/420843/421147#421147 – hop