다재다능 개발자 성장기 🚀
항해99 👩💻45일차 TIL 본문
🎉오늘의 한 일🎉
🧡팀프로젝트🧡
팀프로젝트에서 쓰인 암호화방식들을 공부하였다.
🧡개인프로젝트🧡
암호화방식을 공부한 것을 활용하기 위해 dotenv라이브러리와 cryptoJS암호화 방식(AES)으로 token생성시 쓰이는 시크릿키와 회원가입, 로그인에 쓰이는 비밀번호를 암호화하였다.
🐣배운 점🐣
dotenv
환경변수를 파일에 저장할 수 있도록 해주는 라이브러리이다.
설치
$ npm i dotenv
.env 파일 작성
dotenv 라이브러리는 디폴트로 현재 디렉토리에 위치한 .env파일로 부터 환경 변수를 읽어낸다. 따라서 .env 파일을 생성하고, 그 안에 필요한 환경변수를 키-값 형식으로 작성해준다.
이렇게.env 파일에 저장해놓은 환경 변수들을 dotenv 라이브라리를 사용해서 process.env.값 형식으로 사용할 수 있다.
사용법
JS파일 최상위에 dotenv 라이브러리를 임포트한후 config() 함수를 호출해주면 된다.
require("dotenv").config();
CryptoJS
JS를 이용한 서비스에서 비밀번호등 민감한 여러가지 정보를 안전하게 암호화 하는데 사용된다.
설치
npm i -d crypto-js
cryptoJS 암호화 방식(AES)
AES를 사용하여 객체를 암호화하고 다시 복호화한 뒤 데이터를 비교한다. 이때, 암복호화에 사용되는 키는 동일하며 실제로 AES를 사용할 때에는 키를 비밀로 유지하여야 한다.
- Encrypt(암호화)
const keyDecrypt = 복호화할 때 사용할 값
const encryptedText = CryptoJS.AES.encrypt('암호화할 값', keyDecrypt(복호화 할 때 사용할 값)).toString();
- Decrypt(복호화)
const decryptedText = CryptoJS.AES.decrypt(encryptedText,keyDecrypt);
- Result(결과 확인)
const originalText = decryptedText.toString(CryptoJS.enc.Utf8);
console.log(originalText);
복호화하여 저장한 Text를 toString(CryptoJS.enc.Utf8)라고 덧붙이며 결과값을 저장해준다
'항해99_6기_TIL' 카테고리의 다른 글
항해99 👩💻47일차 TIL (0) | 2022.04.23 |
---|---|
항해99 👩💻46일차 TIL (0) | 2022.04.21 |
항해99 👩💻44일차 TIL (0) | 2022.04.20 |
항해99 👩💻43일차 TIL (0) | 2022.04.20 |
항해99 👩💻42일차 TIL/WIL (0) | 2022.04.17 |