2011-09-23 7 views
2

나는 다음 루비 코드의 Node.js를 동등해야node.js를 사용하여 문자열을 암호화하는 방법은 무엇입니까?

require 'openssl' 
    digest = OpenSSL::Digest::Digest.new('sha1') 
    signature = OpenSSL::HMAC.hexdigest(digest, 'auth secret', 'some string') 

내가 Node.js를에 다음과 같은 노력을하지만, 루비 서명 당신은에있어 노드의

var crypto, signature; 
    crypto = require('crypto'); 
    signature = crypto.createHash("sha1").update('auth secret').update('some string').digest("hex"); 
+0

이 질문을 확인하십시오 : http://stackoverflow.com/questions/4497135/node-js-and-crypto-library – Chance

답변

1

에서 다른 바른 길. createHash 대신 crypto # createHmac 메서드를 사용하고 키를 생성 할 때 비밀 (키)을 전달해야합니다. 이것은 당신이 찾고있는 것을 줄 것입니다 :

var crypto = require('crypto') 
    , hmac 
    , signature; 

hmac = crypto.createHmac("sha1", 'auth secret'); 
hmac.update('some string'); 

signature = hmac.digest("hex"); 
관련 문제