设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
淘宝API在codeigniter中的签名问题
返回列表
查看:
4454
|
回复:
6
[讨论/交流]
淘宝API在codeigniter中的签名问题
[复制链接]
rain16881
rain16881
当前离线
积分
75
IP卡
狗仔卡
发表于 2011-10-13 08:56:25
|
显示全部楼层
|
阅读模式
在淘宝的API当中。。有一些只要生成md5的sign就可以了。。不过。。直接 在php 中写代码。。生成的sign就可以在淘宝中用...
如果通过codeigniter的controller方法中。。调用同样的类。同样的方法。。生成的md5的sign就是不能登陆,出现
<error_response>
<code>25</code>
<msg>Invalid signature</msg>
</error_response>
<!-- v014153.cm4 -->
大家有遇过这样的问题吗!?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
rain16881
rain16881
当前离线
积分
75
IP卡
狗仔卡
楼主
|
发表于 2011-10-13 09:35:20
|
显示全部楼层
如果在php中生成有sign的link。。放到ci的controller中。又可以得到正常的数据..大家生成签名的方法都是一样的。。
PHP
复制代码
//签名函数
function
createSign
(
$paramArr
)
{
global
$appSecret
;
$sign
=
$appSecret
;
ksort
(
$paramArr
)
;
foreach
(
$paramArr
as
$key
=>
$val
)
{
if
(
$key
!=
''
&&
$val
!=
''
)
{
$sign
.=
$key
.
$val
;
}
}
$sign
=
strtoupper
(
md5
(
$sign
.
$appSecret
)
)
;
return
$sign
;
}
//组参函数
function
createStrParam
(
$paramArr
)
{
$strParam
=
''
;
foreach
(
$paramArr
as
$key
=>
$val
)
{
if
(
$key
!=
''
&&
$val
!=
''
)
{
$strParam
.=
$key
.
'='
.
urlencode
(
$val
)
.
'&'
;
}
}
return
$strParam
;
}
复制代码
都是dome中的代码 ..为什么在ci中调用生成就不一样呢!??不解
回复
支持
反对
使用道具
举报
显身卡
rain16881
rain16881
当前离线
积分
75
IP卡
狗仔卡
楼主
|
发表于 2011-10-13 09:40:29
|
显示全部楼层
查过一下。。说参数到淘宝中会重新排序。。生成sign比较的。。难道ksort中ci中不起作用!?
回复
支持
反对
使用道具
举报
显身卡
白狐书生
白狐书生
当前离线
积分
91
IP卡
狗仔卡
发表于 2011-10-13 09:45:45
|
显示全部楼层
print_r测试一下呀
回复
支持
反对
使用道具
举报
显身卡
白狐书生
白狐书生
当前离线
积分
91
IP卡
狗仔卡
发表于 2011-10-13 09:46:24
|
显示全部楼层
也可能你签名时签错了,只是你没发现。
回复
支持
反对
使用道具
举报
显身卡
斯达客
斯达客
当前离线
积分
192
IP卡
狗仔卡
发表于 2011-10-13 10:03:54
|
显示全部楼层
这东西没有玩过
回复
支持
反对
使用道具
举报
显身卡
rain16881
rain16881
当前离线
积分
75
IP卡
狗仔卡
楼主
|
发表于 2011-10-13 10:04:39
|
显示全部楼层
问题已经解决
问题出在
PHP
复制代码
function
createSign
(
$paramArr
)
{
global
$appSecret
;
$sign
=
$appSecret
;
ksort
(
$paramArr
)
;
foreach
(
$paramArr
as
$key
=>
$val
)
{
if
(
$key
!=
''
&&
$val
!=
''
)
{
$sign
.=
$key
.
$val
;
}
}
$sign
=
strtoupper
(
md5
(
$sign
.
$appSecret
)
)
;
return
$sign
;
}
复制代码
PHP
复制代码
//生成签名
$sign
=
createSign
(
$paramArr
,
$this
->
appSecret
)
;
复制代码
在php中。这样调用生成的东西正常
在ci中。。appsecret就传入不正常
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页