티스토리 뷰

반응형

암호화에는 대칭형 암호화 비대칭형 암호화 2가지 방법이있다.

대칭형 암호화는 앞서 포스팅한 방법처럼 key가 존재하여 같은 key를 사용하면 복호화가 가능하다는 장점이 있다.

하지만 rainbowTable이 존재하여 보안적인 요소에는 취약하다. 주로 난독화할때 사용하면 될것같다.

비대칭형 암호화는 흔히들 소금을 뿌린다고 하는데 hash값을 섞어서 복호화를 할 수없게한다.

대부분의 민감한정보들 Password같은 경우는 비대칭형(비대칭키) 암호화를 사용해야한다.

암호화를 할 수 있는 여러가지 방법중 bcrypt 를 사용한 비대칭형 암호화를 사용하여 password를 암호화한 코드이다.

const Bcrypt = require("bcrypt");
const saltOrRounds = 10; //비대칭 암호화 횟수, 높을수록 보안성은 증가하지만 속도가 오래걸림

//암호화_복호화 불가능함! 동기로 작동 암호화된 값 반환
function encryptPassword(data) {
    return Bcrypt.hashSync(data, saltOrRounds);
}

//비밀번호 비교 true false 반환
function comparePassword(beforeEncryptPwd, afterEncryptPwd) {
    return Bcrypt.compareSync(beforeEncryptPwd, afterEncryptPwd);
}

module.exports = {
    encryptPassword,
    comparePassword,
};

공용함수로 만들어놓고 암호화가 필요할때마다 사용하면 편하게 사용할 수 있다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함