关于php调用万网api 关于MD5验证失败的问题,在线等

风起于默 2011-07-12 11:46:19
/***********************提交的参数***********************************/
<?$vtime=date("YmdHi");?>
<?$sourceid=date("YmdHi").rand(1000,9999);?>
userid=30261368&userstr=<?=iconv("UTF-8","GB2312",md5("20645116"."1111"."test@net.cn".$vtime))?>&category=domain&action=activate&vtime=$vtime&sourceid=$sourceid



/***********************页面输出提交的路劲及参数***********************************/
//因为出现MD5验证失败的问题,所以这里只传了公共参数
http://api.hichina.com:8081
userid=20645116&userstr=7721250fd2d811f6e63bbd0a3c283e3a&category=domain&action=activate&vtime=201107121144&sourceid=2011071211447863



/***********************页面输出的返回结果***********************************/


<?xml version="1.0" encoding="gb2312" ?> <property> <returncode>300</returncode> <failreason>MD5验证失败</failreason> </property>



出来MD5加密的数据能够得到这个错误提示,还有其他的原因能够出现这个问题


...全文
182 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jqiangtc 2011-08-21
  • 打赏
  • 举报
回复
啊!!!!!!!!!找了两天看到你的帖子。。。。
风起于默 2011-07-12
  • 打赏
  • 举报
回复
md5,API认证函数
数字ID(万网8位数字ID)
用户密码(ID密码)
邮箱(ID下邮箱)
vtime为12位字符
例如当前时间是:
2006年8月30日8点15分
vtime=200608300815
四项值依顺序连接,通过md5函数处理后,userstr值为32位的字符串。

这个是加密规则
风起于默 2011-07-12
  • 打赏
  • 举报
回复
结贴了,联系到客户,居然是他们的接口不能用了,无语。。。
不过还是感谢你的帮助
风起于默 2011-07-12
  • 打赏
  • 举报
回复
其实我原先用的是正式的会员id
后来网上找了下说测试用的是在文档上的测试id
所以我就用的它文档上的
maquan 2011-07-12
  • 打赏
  • 举报
回复
你确信你所使用的参数都是正确的吗?主要是“密码(1111)”和“邮箱(test@net.cn)”。

所谓正确,就是得跟对方服务器中保存的是一样的。

因为服务器方面为了验证你的 userstr 是否正确,也应该是同样的算法(把数字ID、密码、邮箱、时间戳串在一起再 MD5)。
风起于默 2011-07-12
  • 打赏
  • 举报
回复
这个倒不是他文档上面的案例也是小写
maquan 2011-07-12
  • 打赏
  • 举报
回复
会不会 userstr 要求是“大写”的?不懂,瞎猜的。

另外,你那个 iconv() 把 UTF-8 转 GB2312,显然是多余的,md5 出来的都是 ASCII 字符,没什么可转的。


————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧