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

来自牛奶河Wiki
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
第1行: 第1行:


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


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


=== 方法一 ===
=== 方法一 ===
第17行: 第17行:


==== Linux ====
==== Linux ====
echo -n '123'|md5sum<blockquote>202cb962ac59075b964b07152d234b70</blockquote>也可以在PHP或MySQL中增加回车符:
echo -n '123'|md5sum
 
=== MySQL ===
SELECT MD5('hello');<blockquote>202cb962ac59075b964b07152d234b70</blockquote>
 
 
也可以在PHP或MySQL中增加回车符:


=== 方法二 ===
=== 方法二 ===

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

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

Linux中用 echo 字符串| md5sum 或 md5sum 文件名,两种方式来计算的md5值,串中都有隐含的字符串终止符,所以并非只计算了字符串的md5值。

方法一

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

echo -n “123”| md5sum

PHP

<?php

   echo md5(‘123’);

?>

Linux

echo -n '123'|md5sum

MySQL

SELECT MD5('hello');

202cb962ac59075b964b07152d234b70


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

方法二

PHP

<?php

   echo md5(“123\n”);

?>

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

Linux

echo '123'|md5sum

ba1f2511fc30423bdbb183fe33f3dd0f