项目需要跟邮政的接口对接,邮政要求要将指定的xml数据内容进行md5签名,但是邮政提供的例子是java的,而我们是用php写,发送过去的数据始终不一样,造成验证失败。后来查到是由于php这边的md5加密后的结果跟java的md5值结果不一致造成。目标服务器通过md5加密后的结果是长度为16位的字符串,而php默认是32位的。其实php的md5还有第二个参数,只不过这个参数默认是false,解决办法如下:
md5($str,true);
项目需要跟邮政的接口对接,邮政要求要将指定的xml数据内容进行md5签名,但是邮政提供的例子是java的,而我们是用php写,发送过去的数据始终不一样,造成验证失败。后来查到是由于php这边的md5加密后的结果跟java的md5值结果不一致造成。目标服务器通过md5加密后的结果是长度为16位的字符串,而php默认是32位的。其实php的md5还有第二个参数,只不过这个参数默认是false,解决办法如下:
md5($str,true);