Php中md5函数与Linux中md5sum结果不同:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
(创建页面,内容为“ MySQL也有同样的问题,其md5函数算出来的值与Linux 的md5sum不同。 Linux中用 echo “123”| md5sum 或 md5sum 文件名(里面只有123)方式来计算的md5值,串中都有隐含的字符串终止符,所以并非只计算了”123”的md5值。 === 方法一 === 如果是字符串可以通过增加-n参数解决: echo -n “123”| md5sum ==== PHP ==== <?php    echo md5(‘123’); ?> ==== Linux ==== echo -n '123'|md5sum<…”)
 
无编辑摘要
第1行: 第1行:


 
Php中md5函数与Linux中md5sum结果不同,MySQL也同样,其md5函数算出来的值与Linux中md5sum结果也不同。
MySQL也有同样的问题,其md5函数算出来的值与Linux 的md5sum不同。


Linux中用 echo “123”| md5sum 或 md5sum 文件名(里面只有123)方式来计算的md5值,串中都有隐含的字符串终止符,所以并非只计算了”123”的md5值。
Linux中用 echo “123”| md5sum 或 md5sum 文件名(里面只有123)方式来计算的md5值,串中都有隐含的字符串终止符,所以并非只计算了”123”的md5值。
第28行: 第27行:


?>
?>
注意上面md5中的字符串必须为双引号。


==== Linux ====
==== Linux ====

2023年1月3日 (二) 17:47的版本

Php中md5函数与Linux中md5sum结果不同,MySQL也同样,其md5函数算出来的值与Linux中md5sum结果也不同。

Linux中用 echo “123”| md5sum 或 md5sum 文件名(里面只有123)方式来计算的md5值,串中都有隐含的字符串终止符,所以并非只计算了”123”的md5值。

方法一

如果是字符串可以通过增加-n参数解决:

echo -n “123”| md5sum

PHP

<?php

   echo md5(‘123’);

?>

Linux

echo -n '123'|md5sum

202cb962ac59075b964b07152d234b70

也可以在PHP或MySQL中增加回车符:

方法二

PHP

<?php

   echo md5(“123\n”);

?>

注意上面md5中的字符串必须为双引号。

Linux

echo '123'|md5sum

ba1f2511fc30423bdbb183fe33f3dd0f