最近与华为联调彩铃中央音乐平台接口的WEB SERVICE遇到了郁闷的问题,在这个接口中需要使用MD5算来相互验证用户身份,华为使用JAVA开发我方使用Visual Studio .NET 2005开发,遗憾的是华为的MD5算法与RFC 1321的Test siute不相符,更为可笑的是他们在规范中还给出了他们的MD5算法:
 1中央音乐平台的MD5算法问题import java.security.MessageDigest;
 2中央音乐平台的MD5算法问题
 3

请注意第14-18行不知大侠出于什么想法加上。

RFC 1321中,给出了Test suite用来检验你的实现是否正确:

MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b

 

下面是中央音乐平台规范中的MD5加密算法例子加密的结果

MD5(“”)=59ADB24EF3CDBE0297F05B395827453F

MD5 ("a") = B6FF9A06B7E20BCB2858C5B8FF744AEA
MD5 ("abc") = AF5DA9F45AF7A300E3ADED972F8FF687
MD5 ("abcdefghijklmnopqrstuvwxyz") = 1C8003CE2CE5966DA43E92DCD7E35656
把上述代码中第14-18行的for循环去掉即符合RFC 1321,真不知道他们是怎么测试的,象这样代码也好意思放到规范中,也不想想其他厂商怎么和你们联调,看来脑袋里水还不少呢!

相关文章:

  • 2021-10-24
  • 2022-12-23
  • 2022-01-09
  • 2022-12-23
  • 2022-02-03
  • 2021-12-09
猜你喜欢
  • 2022-01-11
  • 2022-12-23
  • 2021-06-04
  • 2021-05-20
  • 2021-05-13
  • 2022-12-23
  • 2021-12-02
相关资源
相似解决方案