首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quickblox Basic4Android签名生成

Quickblox Basic4Android签名生成
EN

Stack Overflow用户
提问于 2013-11-30 06:47:07
回答 1查看 452关注 0票数 1

尝试创建QuickBlox会话时收到无效签名错误:

代码语言:javascript
复制
Private Sub GenerateSignature() As String
Dim timestamp As Long : timestamp = DateTime.Now / 1000
Dim nonce As Int : nonce = Rnd(1, 1000)

Dim signatureParams As String
signatureParams = "application_id=[appid]&auth_key=[authkey]&nonce=[nonce]&timestamp=[time]".Replace( _
    "[appid]", ApplicationID).Replace("[authkey]", AuthorizationKey).Replace("[nonce]", nonce).Replace("[time]", timestamp)

Dim sig As String : sig = EncryptHMACSHA(signatureParams, AuthorizationSecret)

Log(signatureParams)

Log("Generated Signature for Token: " & sig.ToLowerCase)

Return sig.ToLowerCase
End Sub

Public Sub GetSessionToken()
Dim job As HttpJob
job.Initialize("GetToken", Me)

Dim timestamp As Long : timestamp = DateTime.Now / 1000
Dim nonce As Int : nonce = Rnd(1, 1000)

Dim tokenParams As String
tokenParams = "application_id=[appid]&auth_key=[authkey]&nonce=[nonce]&timestamp=[time]&signature=[sig]".Replace("[appid]", ApplicationID) _
    .Replace("[authkey]", AuthorizationKey).Replace("[nonce]", nonce).Replace("[time]", timestamp).Replace("[sig]", GenerateSignature)

Log(tokenParams)

job.PostString("https://api.quickblox.com/session.xml", tokenParams)
job.GetRequest.SetHeader("QuickBlox-REST-API-Version", "0.1.0")
End Sub

Private Sub EncryptHMACSHA(Target As String, Key As String) As String
Dim m As Mac
Dim k As KeyGenerator
k.Initialize("HMACSHA1")
k.KeyFromBytes(Key.GetBytes("UTF8"))
m.Initialise("HMACSHA1", k.Key)
m.Update(Target.GetBytes("UTF8"))
Dim b() As Byte
b = m.Sign
Dim bc As ByteConverter

Return bc.HexFromBytes(b)
End Sub

我已经检查了加密功能和时间戳与其他在线样本,它似乎是工作的。我的url参数的顺序是正确的。我仍然不明白为什么我得到了“意想不到的签名”。

EN

回答 1

Stack Overflow用户

发布于 2013-12-01 00:44:24

正如我所见,您使用不同的时间戳和随机数来生成签名和创建会话请求

您应该使用相同的

代码语言:javascript
复制
Dim timestamp As Long : timestamp = DateTime.Now / 1000
Dim nonce As Int : nonce = Rnd(1, 1000)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20294351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档