md 5値算出方式

924 ワード

shellで計算される文字列のmd 5値echo 123|md5sum
ba1f2511fc30423bdbb183fe33f3dd0f  -
php -r "echo md5('123');"
202cb962ac59075b964b07152d234b70

両者のmd 5値は一致せず、興味深い解法がたくさんあります.
1 Mysql解法:mysql> select md5('123');
+----------------------------------+
| md5('123')                       |
+----------------------------------+
| 202cb962ac59075b964b07152d234b70 |
+----------------------------------+

2改行の修正[root@fetion ~]# printf 123|md5sum
202cb962ac59075b964b07152d234b70  -
[root@fetion ~]# echo -n 123|md5sum
202cb962ac59075b964b07152d234b70  -
[root@fetion ~]# echo 123|tr -d '
'|md5sum
202cb962ac59075b964b07152d234b70  -

まとめてみます.
1 echoのデフォルトは改行文字で終わる2 echo-n改行文字を削除できます3 printfは改行文字で終わる4 trは1文字を削除できますtr-d'5 phpコマンドライン実行プログラムはphp-r「code」です