为什么不同字符串的解码结果是相同的?
问题描述:
$ perl -MMIME::Base64 -e 'print decode_base64("c3luX2Fja0AxNjMuY29t");'
[email protected]
$ perl -MMIME::Base64 -e 'print decode_base64("AHN5bl9hY2tAMTYzLmNvbQ");'
[email protected]
编码字符串不同,但解码结果相同,为什么?为什么不同字符串的解码结果是相同的?
答
相反,你说什么,他们是不一样的:
$ perl -MMIME::Base64 -E'
say
decode_base64("c3luX2Fja0AxNjMuY29t") eq
decode_base64("AHN5bl9hY2tAMTYzLmNvbQ") ?1:0'
0
那么它们是什么?
$ perl -MData::Dumper -MMIME::Base64 -e'
$Data::Dumper::Useqq = 1;
print Dumper(decode_base64("c3luX2Fja0AxNjMuY29t"))'
$VAR1 = "syn_ack\@163.com";
$ perl -MData::Dumper -MMIME::Base64 -e'
$Data::Dumper::Useqq = 1;
print Dumper(decode_base64("AHN5bl9hY2tAMTYzLmNvbQ"))'
$VAR1 = "\0syn_ack\@163.com";
这是一个NUL字符:'“\ 0”'。 – Borodin 2013-03-21 09:22:00
http://p3rl.org/uniquote(替换'cat -v')对于检测/制作可见的字符很有用。 – daxim 2013-03-21 10:01:02