그누보드 5.4의 javascript 패스워드 > Node.js

Node.js

그누보드 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개

전체 41 |RSS
Node.js 내용 검색

회원로그인

진행중 포인트경매

  1. @멘션 알림 자동완성 + Ckeditor4 플러그인

    참여21 회 시작19.11.17 11:33 종료19.11.24 05:15

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT