逐行读取文件然后哈希它们,在php中给出错误的输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逐行读取文件然后哈希它们,在php中给出错误的输出相关的知识,希望对你有一定的参考价值。
当我尝试在我的网站中散列我的所有用户密码时,首先我将所有密码保存在文件中然后我尝试哈希它们,但我意识到它给了我错误的哈希而不是真正的哈希,
我尝试了2个功能但结果相同,这是php代码解释的一切
**文件little.txt只有1个字“密码”
md5()函数:
echo md5("password"); #5f4dcc3b5aa765d61d8327deb882cf99
file()函数然后md5行:
$openfile = file("little.txt");
foreach($openfile as $lines){
echo $lines.' : '.md5($lines); #286755fad04869ca523320acce0dc6a4
}
fopen()函数:
if ($file = fopen("little.txt", "r")) {
while(!feof($file)) {
$lines = fgets($file);
echo $lines.' : '.md5($lines); #286755fad04869ca523320acce0dc6a4
}
fclose($file);
}
我想当我在调用文件时添加一些空格或其他东西,
EDITED
对不起家伙我读了更多关于哈希和加密之间的区别,我编辑了这篇文章。
关于哈希密码我现在用它
md5(sha1($passwords . $various_salts))
非常感谢您的回复,它真的帮助了我:)
答案
您可以先通过rtrim($line, "
");
运行值,也可以使用file
的以下选项:
$openfile = file("little.txt", FILE_IGNORE_NEW_LINES);
这将删除你的行尾。
编辑:正如评论中提出的问题所证明的,这是解决问题的一种相当奇怪的方法。想一想为什么需要将所有这些密码存储在一个文件中(散列或其他)。
以上是关于逐行读取文件然后哈希它们,在php中给出错误的输出的主要内容,如果未能解决你的问题,请参考以下文章