这是一个创建于 3603 天前的主题,其中的信息可能已经有所发展或是发生改变。
(gist 放帖子内容最后了)
目前发现:
signDataWithMD5Key("v2ex.com", "123456") 返回值是 VAUtitqCZKQpYD+5frUNfQ==
md5_by_key("v2ex.com", "123456") 返回值也是 VAUtitqCZKQpYD+5frUNfQ==
也就是说两者结果一致
但是,下面的情况就不一致了
要加密的字符串都是
timestamp=2014-12-19 10:10:10.234&content=gvNK0T++B/sMeylEgUI6AoCV/MZjwcEKA703GgDNrss/iIBBaEcaR5Me4M/6tCH2SPtKBg2dy9NR\r\nXjPFL6Cq4zh6P/jqEO4tMYFQpPGyCiDypB7bDtGVlUkF6i1lhkSSuffbjYuRS5XOnaMR1m7Oet72\r\ndxILjue7qcvusNvT6+eu92ajWIgbkZnWRcStdzjhA3/e9ZrlJBnHrpRjt0l9MC6idJR8s9rsStdf\r\nW65O5+ei+gBOB8tTMpeiuEDFXpvVnzhB1PfurZk6ArNzau6j3p385U873uOiyvhy6TVlyqheuJ3y\r\n/HXpB4k1z3pMr40g5PKlfaJMN52avM2FF2YqUCTme0Wasx9amKqoWrDkD90lveividnq4ooXH/NV\r\nVPX0gYLdEfggXg7rF4q9Na9lmSRxwyd/58BiwRkjk3+MWNCuVw6EctTMtV5BCP4vuTz4iwU5yTYm\r\nh16Zy1QwdZ+oLUoLBI63mgU9sbVFUmGZgTisvhAwKXf25bFhpyBUmS+9
key 都是 123456
Java 的 signDataWithMD5Key 得到的结果是 sde2Y178HtqCR08ldXmfxQ==
php 的 md5_by_key 得到的结果是 V3//cwX5ldkNU73R58GSyQ==
我真正的问题是,该如何写一个跟 java 的 signDataWithMD5Key 得出一样结果的 php 函数
5 条回复 • 2015-01-14 15:49:24 +08:00
|
|
1
mhycy 2015-01-14 15:41:34 +08:00 1
转义问题 字符串中有\r\n等字符 在PHP中,使用双引号引用这段文字并输出的结果是sde2Y178HtqCR08ldXmfxQ==与JAVA相符
|
|
|
2
mhycy 2015-01-14 15:43:59 +08:00
|
|
|
3
qiayue 2015-01-14 15:46:00 +08:00
我发现了,是因为 \ 的原因,把 \ 替换为其他字符,或者变成双斜杠,结果就变成一样了
|
|
|
4
qiayue 2015-01-14 15:48:28 +08:00
@ mhycy 谢谢,问完了,我就意识到问题在哪里了
|
|
|
5
mhycy 2015-01-14 15:49:24 +08:00
|