PHP脚本到MD5分别对每行进行散列
我正在尝试创建一个脚本,它可以让MD5快速散列许多行(50000+)。我有一个脚本,我一直试图使工作,但它给我不同的输出有时,我不知道为什么。有什么想法吗PHP脚本到MD5分别对每行进行散列,php,md5,Php,Md5,我正在尝试创建一个脚本,它可以让MD5快速散列许多行(50000+)。我有一个脚本,我一直试图使工作,但它给我不同的输出有时,我不知道为什么。有什么想法吗 <?php if(isset($_POST['btn'])){ $value=$_POST['text']; $ids = explode(PHP_EOL, $value); $content = ''; for ($i=0
<?php
if(isset($_POST['btn'])){
$value=$_POST['text'];
$ids = explode(PHP_EOL, $value);
$content = '';
for ($i=0;$i<count($ids);$i++){
$content .= md5($ids[$i]).'<br>';
}
echo nl2br($content);
}
?>
其结果是:
265f78fc274d8428fd63dabc24400cb4
63a63ddf49984e0f1cef336aeb6ca39c
229b1cc78a248c6cea47fa95565dc9ca
019b111ec0c13ed923922715bfb1670a
但我应该得到:
daeccf0ad3c1fc8c8015205c332f5b42
ec121ff80513ae58ed478d5c5787075b
91b07b3169d8a7cb6de940142187c8df
019b111ec0c13ed923922715bfb1670a
输入字符串中的行由
\r\n
分隔,但在服务器上PHP\u EOL
设置为\n
。因此,当您将输入拆分为行时,除最后一行外,每行末尾都有一个\r
<代码>echo md5(“苹果”)代码>生成265F78FC274D8428FD63DABC2400CB4
使用trim()
删除多余的空白
$content .= md5(trim($ids[$i])).'<br>';
$content.=md5(trim($ids[$i])。
;
输入字符串中的行由\r\n
分隔,但在服务器上PHP\u EOL
设置为\n
。因此,当您将输入拆分为行时,除最后一行外,每行末尾都有一个\r
<代码>echo md5(“苹果”)代码>生成265F78FC274D8428FD63DABC2400CB4
使用trim()
删除多余的空白
$content .= md5(trim($ids[$i])).'<br>';
$content.=md5(trim($ids[$i])。
;
输入数据中有空格。不要在内存中收集所有50k+哈希值。试试这个
输入数据中有空格。不要在内存中收集所有50k+哈希值。
试试这个
当您在$content
中放入显式
时,为什么要使用nl2br()
?您的单词后面有一些空格。在删除此处的空格后,我得到了正确的结果:@Jeff CR,不是spaces@Barmar复制粘贴OP代码时,我有空格。我没看到那张照片。。。可能3v4l.org是由CR自动生成的,\n和/或其服务器的配置不同。无论如何,你的修剪似乎是最好的答案(一如既往)在SO问题中没有CR,CR->空格翻译可能发生在他粘贴到这里的时候。当你在$content
中放入显式
时,为什么要使用nl2br()
?你的单词后面有一些空格。在删除此处的空格后,我得到了正确的结果:@Jeff CR,不是spaces@Barmar复制粘贴OP代码时,我有空格。我没看到那张照片。。。可能3v4l.org是由CR自动生成的,\n和/或其服务器的配置不同。无论如何,你的修剪似乎是最好的答案无论如何(一如既往)在SO问题中没有CR,CR->空格翻译可能是在他粘贴到这里时发生的。
<?php
if(isset($_POST['btn'])){
$value=$_POST['text'];
$ids = explode(PHP_EOL, $value);
for ($i=0;$i<count($ids);$i++){
echo nl2br(md5(trim($ids[$i])));
}
}
?>