以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- DecryptText解密错误 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=143507) |
||||
-- 作者:yellow -- 发布时间:2019/11/27 11:42:00 -- DecryptText解密错误 仿照微信接口库开发指南制作扫码登录客户端。测试扫码时总是提示:Base-64 字符数组或字符串的长度无效。 按照论坛说的方法重写加密函数后不提示错误了。但测试HttpRequest时好像解密不成功,调试如下: …… msgbox(nonce & "||" & token) …… 第一个msgbox显示出正常信息,第二个msgbox则显示loginid为空
单独把解密语句放到命令行执行又可以成功解密出loginid 这到底是怎么回事啊???
附重写加密函数: Public Function DecryptText(s As String, m1 As String, m2 As String) As String
|
||||
-- 作者:有点蓝 -- 发布时间:2019/11/27 11:57:00 -- token、nonce、Vars("dkey")分别是什么内容?发上来测试一下 |
||||
-- 作者:yellow -- 发布时间:2019/11/27 14:39:00 -- 例如: nonce=-2024731785 token=aBDXjjilmuIfmO3nzLXWLENQfv3gnHIwQbeFZWLQsquBES4ntrh0UNg6PJNVlHf3sApq9mYUvNgjooldlDmK4Ahh6pme8uXdoJ%2beFEU84Fk%3d dkey=12345678
在命令行里面是可以解密出来,但在HTTPRequest事件里就只返回空值
[此贴子已经被作者于2019/11/27 14:45:54编辑过]
|
||||
-- 作者:yellow -- 发布时间:2019/11/27 15:08:00 -- 呵呵,问题找到了。 原来接收的Token参数不需再要做urldecode转换了。直接用 loginid = DecryptText(token,nonce,Vars("dkey")) 而非示例中的 loginid = DecryptText(urldecode(token),nonce,Vars("dkey")) 如果DecryptText函数有错误值返回就好了,不用那么费神。
|