2014-06-24 4 views
4

내가 루아에 정말 새로운 해요 당신은 내 질문이 너무 바보 같은 생각하면 기다려주십시오입니다 언급해야 우선 여기 루아에 HMAC를 사용하는 방법 - 라이트 룸 플러그인

내 요구 사항

입니다
  • 보안을 위해 Lightroom 플러그인 개발에 HMAC-sha256을 사용해야합니다.

나는 이것을 사용하려고했지만 운이 https://code.google.com/p/lua-files/wiki/hmac

으로 이러한 단계를 내가

  1. https://code.google.com/p/lua-files/source/browse/hmac.lua의 코드를 얻었다 따라와 'hmac.lua'파일로 저장됩니다 in 내 플러그인 디렉토리
  2. https://code.google.com/p/lua-files/source/browse/sha2.lua에서 코드를 가져오고 을 'sha2.lua'로 저장했습니다.

지금 파일에 나는이

local hmac = require'hmac' 
local sha2 = require'sha2' 

--somewhere doend the line inside a function 
local hashvalue = hmac.sha2('key', 'message') 

처럼 사용하지만 불행하게도이 작동하지 않고 내가 잘못 뭘하는지 모르겠어요 파일. 누구든지 내가 여기서 잘못하고있는 것에 대해 조언 할 수 있습니까? 아니면 좋은 예를 들어 이것을 더 쉽고 더 좋은 방법으로 생각할 수 있습니다.

편집 : 결과를 얻으려면이 작업을 수행하고 있습니다. 해당 코드를 포함 시키면 플러그인이 작동을 멈 춥니 다.

당신의 도움이

답변

2

I 주셔서 대단히 감사합니다 나는이

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 외부에서 작동하는지 확인하십시오. 당신이 참조한 HMAC 모듈은 "glue", "bit", "ffi"모듈을 필요로합니다. 이 중 bitffi은 이진 모듈이며 Lightroom에로드 할 수 있는지 확신 할 수 없습니다 (이미 사용 가능하지 않은 경우). 어떤 경우 든 필요한 모듈이없고 LR 외부의 문제없이 실행할 수없는 경우 LR에서 실행할 수 없습니다.

0

그냥 SHA256 해시 그것에게 라이트 룸

내 질문 here을 게시하고 답변을 얻을 수 있었다

을 할 수있는 방법이를 얻을 필요합니다. 하지만 내 시간을 너무 많이 복용했기 때문에

local sha = import 'LrDigest' 
d = sha.SHA256.digest ("Hello world") 

하지만 불행히도 HMAC 없었다 그래서 나는 소금의 MD5를 사용하기로 결정 SDK 문서에이의 더 참조 (라이트 룸 SDK)를가 없었다

0

솔루션을 찾으려고 꽤 오랜 시간을 보냈습니다. -/ LrDigest가 문서화되어 있지 않습니다. 어도비에게 감사드립니다! 솔루션 :

local LrDigest = import "LrDigest" 
LrDigest.HMAC.digest(string, 'SHA256', key) 
관련 문제