首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Lua SHA256摘要转换为十六进制字符串(创建Facebook appsecret_proof令牌)?

如何将Lua SHA256摘要转换为十六进制字符串(创建Facebook appsecret_proof令牌)?
EN

Stack Overflow用户
提问于 2014-07-02 21:30:59
回答 1查看 2K关注 0票数 1

我花时间阅读了Nginx的HTTPLuaModule,发现开发人员可以使用键和字符串实现SHA256签署Amazon服务的一些很好的方式。作为一个初级开发人员,我是一个Lua,我想使用HTTPLuaModule来生成Facebook appsecret_proof令牌。目前,我发现用于Lua的LuaCrypto模块可以通过SHA256生成HMAC,但它与Facebook令牌所需的实现不完全匹配:

digest = crypto.hmac.digest('sha256', user-access-token, app-secret, true) ## what next to convert digest into hexadecimal string?

与上面的亚马逊示例不同,令牌不需要是Base64编码,而是需要使用十六进制数字(因此是十六进制数字!)转换成双长字符串。

在Python中,我可以通过以下方式获得令牌:

import hashlib import hmac token = hmac.new(app-secret, user-access-token, hashlib.sha256).hexadecimal()

有什么想法?有更好的模块可以将摘要转换成十六进制字符串吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-02 22:35:33

应该很简单,如:

代码语言:javascript
复制
local secretProof = digest:final()

来源:http://mkottman.github.io/luacrypto/manual.html#reference

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24541366

复制
相关文章

相似问题

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