0

我对这整个腌制的东西很陌生。

假设我(crypt($pass,$salt))在 config.php 中存储了一个管理员密码。

现在我不认为$salt在 config.php 文件中我的(加密的)密码下面有一个随机字符串是个好主意,对吧?

我还没有找到一个教程可以告诉我应该在哪里存放盐或如何以智能的方式实际使用它。

另外,即使我的管理员是唯一的,我是否应该将我的管理员登录详细信息存储在数据库中?

PHP 版本 5.1

<?php
//Admininstration
$ad_uname = "church"; #username
$ad_pass = "sj50sl3ZE8ABM"; #password: crypt("blablah", $salt)
$salt = "sjoirjoewtointontont"; #salt
?>
4

1 回答 1

0

看看 PHP 的函数password_hash(),它完全解决了问题。盐作为生成的哈希值的一部分包含在内,并且是纯文本。盐的目的是防止彩虹表攻击。

您要考虑的是添加服务器端机密,这可以通过添加胡椒粉或之后使用双向加密算法(除了加盐)加密哈希值来完成。困难在于,在哪里存储这个秘密,如果攻击者已经有权限阅读你的源代码,他也可以访问你的秘密(代码必须能够阅读它)。如果你对这个话题更感兴趣,你冷看这个教程

于 2013-09-15T19:56:27.617 回答