PHP脚本到MD5分别对每行进行散列

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

我正在尝试创建一个脚本,它可以让MD5快速散列许多行(50000+)。我有一个脚本,我一直试图使工作,但它给我不同的输出有时,我不知道为什么。有什么想法吗

  <?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])));
    }
}
?>