그누보드 5.4의 javascript 패스워드 정보
그누보드 5.4의 javascript 패스워드본문
5.4에서 사용한 pbkdf2 패스워드 라이브러리를 Javascript로 구현해 봤습니다.
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)
- crypto.randomBytes(24) : 24바이트의 Random 바이트를 만듭니다.
- btoa base64_encode를 합니다. 출력은 32바이트가 됩니다.
- pbkdf2.pbkdf2Sync 출력이 24바이트 이것도 encode하면 32바이트가 됩니다.
- sha256:12000:9My4e5n9JYVKUzGANJ/lH8AS327FZ9nV:DkoLIbeItUGHtSwPSO7NppNhw/CKGcLN
- 테스트 방법: 위의 출력을 g5_member의 mb_password에 넣으시고 로그인되는지 확인하세요
공감
0
0
댓글 0개