有一个Node.JS代码,可以为Azure创建签名。
var signature = crypto.createHmac("sha256", key).update(body).digest("base64");
如何使用LUA创建相同的签名。 (我想我需要使用Lua-Lockbox)
https://github.com/somesocks/lua-lockbox
我可以看到它有Hmac,sha256和base64原语,但我不确定如何将此代码实现为LUA
有任何线索吗?
答案 0 :(得分:1)
我不知道lua-lockbox,但它看起来应该可行:
local stream = require "lockbox.util.stream"
local hmac = require "lockbox.mac.hmac"
local sha256 = require "lockbox.digest.sha2_256"
local base64 = require "lockbox.util.base64"
local body = stream.fromString("thisisthebody")
local key = {("thekey"):byte(1,-1)}
local digest = hmac()
.setBlockSize(64)
.setDigest(sha256)
.setKey(key)
.init()
.update(body)
.finish()
.asBytes()
local base64_digest = base64.fromArray(digest)
print(base64_digest)