Notice
Recent Posts
Recent Comments
Link
«   2025/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
Tags
more
Archives
Today
Total
관리 메뉴

다재다능 개발자 성장기 🚀

항해99 👩‍💻45일차 TIL 본문

항해99_6기_TIL

항해99 👩‍💻45일차 TIL

merrytang 2022. 4. 20. 19:35


🎉오늘의 한 일🎉

🧡팀프로젝트🧡

팀프로젝트에서 쓰인 암호화방식들을 공부하였다. 

 

🧡개인프로젝트🧡

암호화방식을 공부한 것을 활용하기 위해 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