我要提到的第一件事是我对Lua真的很陌生,如果你认为我的问题太愚蠢,请耐心等待
这是我的要求
我试图使用它,但没有运气 https://code.google.com/p/lua-files/wiki/hmac
这是我遵循的步骤
现在我在文件中使用它
local hmac = require'hmac'
local sha2 = require'sha2'
--somewhere doend the line inside a function
local hashvalue = hmac.sha2('key', 'message')
但不幸的是,这不起作用,我不确定我做错了什么。 任何人都可以告诉我我在这里做错了什么吗?或者通过一个很好的例子,有更简单,更好的方法来做到这一点。
编辑: 我这样做是为了得到结果。当我包含该代码时,插件会停止工作。我这样做时无法获得输出字符串
hashvalue = hmac.sha2('key', 'message')
local LrLogger = import 'LrLogger'
myLogger = LrLogger('FlaggedFiles')
myLogger:enable("logfile")
myLogger:trace ("=========================================\n")
myLogger:trace ('Winter is coming, ' .. hashvalue)
myLogger:trace ("=========================================\n")
并且Lightroom拒绝加载插件,日志中也没有任何内容
非常感谢您的帮助
答案 0 :(得分:2)
我首先确保您的代码在Lightroom之外运行。看来您引用的HMAC模块还有一些其他依赖项:它需要“glue”,“bit”和“ffi”模块。其中,bit和ffi是二进制模块,我不确定您是否可以将它们加载到Lightroom中(除非它们已经在那里可用)。在任何情况下,如果您没有所需的模块,并且无法在没有LR之外的问题的情况下运行它,您可能无法使其在LR中运行。
答案 1 :(得分:0)
如果你只需要获得SHA256哈希,就有办法做Lightroom
我发布了我的问题here,并得到了答案。但是在SDK文档(Lightroom SDK)
上没有这方面的参考local sha = import 'LrDigest'
d = sha.SHA256.digest ("Hello world")
但不幸的是没有HMAC所以我决定使用md5加盐,因为这花费了我太多的时间
答案 2 :(得分:0)
花了很多时间试图找到解决方案: - / LrDigest没有记录,感谢Adobe ! 解决方案:
local LrDigest = import "LrDigest"
LrDigest.HMAC.digest(string, 'SHA256', key)