2017-09-27 1 views
0

는 아래 코드는 SHA1의 원료를 얻기의 nodeJS 동등한은 무엇 "문자열"NodeJS SHA1 얻을 원시 출력 (PHP SHA1 원시 출력 상당) PHP에서

sha1("string", true); 

의 SHA1의 원시 출력을 반환 산출?

편집 : 나는 몇 가지 테스트 및이 줄을했다 :

crypto.createHash('sha1').update('string').digest('base64'); 

이 같은 출력을 생성을 PHP의

base64_encode(sha1('string', true)); 

내가 문자열 및 SHA1의 결과를 연결하는 시도 할 때 내 문제가 발생하면 다시 SHA1을 얻을 : nodejs와 다른

base64_encode(sha1(sha1("string", true) . "another string", true)) 

을 :

이 같은 6,
var stringhash = crypto.createHash('sha1').update('string').digest(); 
crypto.createHash('sha1').update("another string" + stringhash).digest('base64') 

답변

2

뭔가 :

const crypto = require('crypto'); 
let digest = crypto.createHash('sha1').update('string').digest(); 
process.stdout.write(digest); 

편집 : 두 번째 예에 해당 : nodejs 문서를 기반으로

let hash1 = crypto.createHash('sha1').update('string').digest(); 
let hash2 = crypto.createHash('sha1').update(hash1).update('another string'); 
let digest = hash2.digest('base64'); 
+0

이,() .digest에 : 인코딩은 "경우 제공된 문자열이 반환됩니다. 그렇지 않으면 버퍼가 반환됩니다. " "Buffer "는 PHP의 sha1? – whoknows

+1

의 원시 출력과 같습니다. Node.js의'Buffer'는'UInt8Array' 형식의 이진 ("raw ") 데이터를 포함합니다. 이 코드는 PHP 코드가 반환하는 것과 같습니다. – robertklep

+0

@whoknows는 두 번째 예제에서 내 편집을 참조하십시오. – robertklep