从ksh终端运行md5函数与简单的Perl脚本的输出不匹配。
在我运行的终端中:
echo -n abc | md5
62fecf21103616856d72e6ffc9bcb06b如果我使用Perl运行它:
use Digest::MD5 qw(md5_hex);
foreach (@ARGV) {
print "Digest is ", md5_hex($_), "\n";
}
exit我得到了
./perl_test.sh abc
Digest is 900150983cd24fb0d6963f7d28e17f72在我看到的所有示例中,以及md5函数本身的示例中,Perl示例看起来是正确的,但只使用Ksh的示例就不是这样:
md5 -x
MD5 test suite:
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72发布于 2010-02-27 06:48:46
当我遇到这些问题时,我通常会这样做来检查我的输出是什么(例如,显示制表符,而不是空格等等)
$ echo abc | hexdump -c
0000000 a b c \n
0000004https://stackoverflow.com/questions/2270131
复制相似问题