npm install --save bcrypt @types/bcrypt
bcrypt는 자바스크립트 패키지로 다음과 같이 import 시켜주어야한다
import * as bcrypt from 'bcrypt';
bcrypt를 이용하여 User의 password를 암호화
user.entity.ts에 다음과 같이 추가
+
@BeforeUpdate() //User entity 데이터가 수정될떄
@BeforeInsert() //데이터가 삽입될때
async hashedPassword():Promise<void> {
const saltval = await bcrypt.genSalt(10);//솔트는 해싱된 비밀번호에 추가되는 무작위 문자열로서,
//같은 비밀번호라도 각기 다른 솔트를 사용하여 암호화를 수행하여 보안성을 높임 갚이 높을수록 오래걸리고 보안성이 높아짐
this.password = await bcrypt.hash(this.password, saltval); 패스워드 암호화
}
async checkPassword(prepassword: string): Promise<boolean>{ //비밀번호 확인
return await bcrypt.compare(prepassword, this.password);
위 함수를 필요한 api에 적용하여 암호화한다.