我想知道这是否足够安全,可以将密码存储在mysql数据库中。
<?php
$password=hash('sha512',$_POST['password']);
//and then insert it into and mysql database
?>
这样安全吗?如果不是,我怎么能更安全呢?
答案 0 :(得分:0)
基本的直线哈希多年来一直没有被认为是安全的。多年来md5
被彻底打破了。咸味哈希一直被认为是最佳实践,直到6 - 8年前,但现在它们也不再被认为是安全的。
请使用以下方法之一安全地加密密码:
所有这些功能的关键在于它们的设计运行缓慢。特别是,传统的哈希算法每秒可以运行数百万或数十亿次,允许攻击者在合理的时间内强行密码,这些功能可以调整为每秒运行10次,或两次,或者一次,甚至需要几秒钟才能完成。您永远不会希望将这些算法设置为以这种方式运行,您可能希望对其进行调整以使其在1/10到3/10秒内完成,这对您的用户来说几乎察觉不到,但仍然会使暴力行为变得不切实际。
答案 1 :(得分:0)
我建议使用河豚 http://www.php.net/manual/en/function.crypt.php 使用自定义生成的盐