md5() 的用途是什么?
我正在阅读本教程,了解一个简单的PHP登录系统。
最后,它建议您使用md5()加密密码。
虽然我知道这是一个初学者的教程,你不应该把银行对账单放在这个登录系统后面,这让我开始思考加密。
因此,我继续讨论(这个网站对新手最有用的问题之一):开发人员在构建公共网站之前应该知道什么?
它说(在安全性下)你应该:
加密哈希和盐密码,而不是将它们存储为纯文本。
它没有说更多关于它,没有参考。
所以我继续自己尝试:
$pass = "Trufa";
$enc = md5($pass);
echo $enc; #will echo 06cb51ce0a9893ec1d2dce07ba5ba710
这让我想到,尽管我知道md5()可能不是最强大的加密方法,但任何总是产生相同结果的东西都可以进行逆向工程。
那么用md5()或任何其他方法加密东西有什么意义呢?
如果黑客获得使用md5()加密的密码,他只会使用此页面!
所以现在实际的问题:
- 密码加密如何工作?
我知道我没有在这里发现一个巨大的网络漏洞!:)我只想了解密码加密背后的逻辑。
我确信我理解了一些错误,如果您能帮助我纠正我的和其他人(我希望)的,我将不胜感激。
您如何应用密码加密才能使其实际有用?
- 这个想法呢?
正如我所说,我可能会/正在把整个想法弄错,但是,这种方法会为真实环境增加任何安全安全性吗?
$reenc = array(
"h38an",
"n28nu",
"fw08d"
);
$pass = "Trufa";
$enc = chunk_split(md5($pass),5,$reenc[mt_rand(0,count($reenc)-1)]);
echo $enc;
如您所见,我随机将任意字符串()添加到我的md5()密码中,“使其唯一”。当然,这只是一个愚蠢的例子。$reenc = array()
我可能是错的,但除非你“自己播种加密”,否则它总是很容易逆转的。
以上是我对“密码保护”和加密密码的想法,如果黑客到达它,他将无法解密它,除非他可以访问原始.php
我知道这甚至可能没有意义,但我不明白为什么这是一个坏主意!
我希望我已经让自己足够清楚了,但这是一个很长的问题,所以,请要求任何需要的澄清!
提前致谢!!