마

그누보드 5.4의 javascript 패스워드

· 2019-09-15 (일) 03:09:04 · 3000

5.4에서 사용한 pbkdf2 패스워드 라이브러리를 Javascript로 구현해 봤습니다.

 

[code]

var btoa = require('btoa')

var atob = require('atob')

var pbkdf2 = require('pbkdf2')

var crypto = require('crypto')

 

var key = '1234'

 

var salt = btoa(crypto.randomBytes(24))

var iterations = 12000

var dkLen = 24

var algorithm = 'sha256'

 

var derivedKey = btoa(pbkdf2.pbkdf2Sync(key, salt, iterations, dkLen, algorithm))

 

var mb_password = algorithm + ':' + iterations + ':' + salt + ':' + derivedKey

console.log(mb_password)

[/code]

 

  • crypto.randomBytes(24) : 24바이트의 Random 바이트를 만듭니다.
  • btoa  base64_encode를 합니다.  출력은 32바이트가 됩니다.
  • pbkdf2.pbkdf2Sync 출력이 24바이트 이것도 encode하면 32바이트가 됩니다.
  • sha256:12000:9My4e5n9JYVKUzGANJ/lH8AS327FZ9nV:DkoLIbeItUGHtSwPSO7NppNhw/CKGcLN
  • 테스트 방법: 위의 출력을 g5_member의 mb_password에 넣으시고 로그인되는지 확인하세요
|
댓글을 작성하시려면 로그인이 필요합니다.

Node.js

55건
+
제목 글쓴이 날짜 조회
22-03-01 조회 1,155
22-03-01 조회 1,164
22-02-09 조회 1,698
21-06-24 조회 1,598
21-05-07 조회 3,740
21-05-07 조회 4,364
21-05-03 조회 3,241
21-02-04 조회 1,864
21-01-14 조회 1,446
20-12-25 조회 1,936
20-12-18 조회 2,110
20-11-30 조회 1,557
20-11-26 조회 1,939
20-11-01 조회 3,717
19-09-15 조회 3,001
19-04-29 조회 2,047
19-04-29 조회 2,020
19-02-25 조회 1,778
19-02-15 조회 2,023
19-02-13 조회 3,043
19-02-13 조회 2,649
19-02-13 조회 2,318
17-06-08 조회 2,717
17-06-03 조회 2,424
17-04-30 조회 3,366
17-01-17 조회 4,791
17-01-04 조회 2,325
16-12-08 조회 2,698
16-12-06 조회 2,760
16-01-19 조회 3,546