$str = "<?xml version='1.0' encoding='UTF-8'?>
<Data>
<method>good</method>
<action>add</action>
<params>
<member>
<good_sn>03000153</good_sn>
<good_name>50°老朋友</good_name>
<provider_id>null</provider_id>
<goods_number>48</goods_number>
<cat_id>03000</cat_id>
</member>
</params>
</Data>
";
算出来的结果为:e9b6357a1b5941404ef9e9123da49cf8我在Java里用Apache的org.apache.commons.codec.digest.DigestUtils类:
String str = "<?xml version='1.0' encoding='UTF-8'?>"+
"<Data>"+
"<method>good</method>"+
"<action>add</action>"+
"<params>"+
"<member>"+
"<good_sn>03000153</good_sn>"+
"<good_name>50°老朋友</good_name>"+
"<provider_id>null</provider_id>"+
"<goods_number>48</goods_number>"+
"<cat_id>03000</cat_id>"+
"</member>"+
"</params>"+
"</Data>";System.out.println("Apache MD5 :" + DigestUtils.md5Hex(str));
算出来的结果为:86b259cf9a5c4b5823f25673ca9cd1e3有没有两边统一的一个算法呢?!大家给个建议!
http://www.ibm.com/developerworks/cn/xml/standards/x-c14nspec.html
————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
$str = "<?xml version='1.0' encoding='UTF-8'?>
<Data>
<method>good</method>
<action>add</action>
<params>
<member>
<good_sn>03000153</good_sn>
<good_name>50°老朋友</good_name>
<provider_id>null</provider_id>
<goods_number>48</goods_number>
<cat_id>03000</cat_id>
</member>
</params>
</Data>
";
echo md5($str)."<br/>";//83d0768e1b64e41b5ce27a08a7492922
echo md5(str_replace(PHP_EOL,"",$str));//86b259cf9a5c4b5823f25673ca9cd1e3
————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
你可以做个简单的测试:md5('123456')看看PHP和java的加密结果是否相同!
$str = "<?xml version='1.0' encoding='UTF-8'?>" .
"<Data>" .
"<method>good</method>" .
"<action>add</action>" .
"<params>" .
"<member>" .
"<good_sn>03000153</good_sn>" .
"<good_name>50°老朋友</good_name>" .
"<provider_id>null</provider_id>" .
"<goods_number>48</goods_number>" .
"<cat_id>03000</cat_id>" .
"</member>" .
"</params>" .
"</Data>";
如果是gbk的话还需要
$str=iconv('gbk','utf-8',$str);
//这是gbk编码的串
$str = "<?xml version='1.0' encoding='UTF-8'?>
<Data>
<method>good</method>
<action>add</action>
<params>
<member>
<good_sn>03000153</good_sn>
<good_name>50°老朋友</good_name>
<provider_id>null</provider_id>
<goods_number>48</goods_number>
<cat_id>03000</cat_id>
</member>
</params>
</Data>
";echo 'gbk 含回车换行 '. md5($str) . PHP_EOL;
$str = preg_replace("/[\r\n]/", '', $str);
echo 'gbk '. md5($str) . PHP_EOL;
echo 'utf-8 '. md5( iconv('gbk', 'utf-8', $str) );gbk 含回车换行 e9b6357a1b5941404ef9e9123da49cf8
gbk 5702cd75efec7097e0e2ad937eecbbff
utf-8 86b259cf9a5c4b5823f25673ca9cd1e3你自己对比一下
就用PHP内置的函数: php5(),sha1()。