[英]Secure password storage
确保密码存储方案安全的最简单方法是使用标准库 。
由于安全性往往要比大多数程序员独自解决的情况复杂得多,并且具有更多看不见的破坏可能性,因此使用标准库几乎总是最简单,最安全的(如果不是唯一的)可用选项。
查看此答案以获取更多信息
您可能希望对密码进行哈希处理-不对其进行加密。 签出SHA-1 。 散列意味着您无法像加密一样检索原始数据。 相反,您要做的是对用户输入的哈希进行哈希处理,并将其与数据库中的哈希进行比较,以查看他们是否具有正确的密码。 这样做可以提高安全性,就好像您的数据库曾经遭到破坏一样-一堆哈希是无用的。
保存MD5哈希,并使其更安全,添加盐。
好吧,您不应该使用MD5对其进行加密(这并不是很安全,大多数黑客都有转换表)。
因此,您可以使用SHA1(通常使用)对其进行哈希处理。
如果您需要更高的安全性,则可以添加更多salt
,这是可以添加的密钥 (仅作为示例,通常使用):
salt+sha1(salt+pass)
这种组合可以用于多种语言。
在SHA-1(sha1 php内置函数)中散列密码,并重复几次盐析(与以上答案中的相同代码,仅循环几次)。 这应该是足够的保护,所以即使入侵者以某种方式掌握了哈希,他们也不应该能够破解它们……
可以对密码进行哈希处理(最好加一个盐):
$salt = random_string($length = 5);
$hash = $salt . sha1($salt . $password);
或存储加密的文件(仅当您的MySQL连接受SSL保护时):
INSERT INTO `user` (`user`,`pass`) VALUES("username",ENCRYPT("password","secretkey"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.