TIL ( crypto-js ๋ž€)

2024. 7. 23. 23:21ใ†TIL

๐Ÿ’กcrypto-js 

 

 

์˜์˜

- crypto-js๋ž€ ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ์—์„œ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” node.js ํŒจํ‚ค์ง€์ด๋‹ค.

- ๋‹ค์–‘ํ•œ ์•”ํ˜ธํ™” ๋ฐ ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•˜๋ฉฐ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

- ๋ณด์•ˆ์ด ์ค‘์š”ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

 

์•”ํ˜ธํ™” ๋ฐฉ์‹

 

- ๋Œ€์นญํ‚ค (Symmetric Encryption): ์•”ํ˜ธํ™” - ๋ณตํ˜ธํ™” ํ•  ๋•Œ ๊ฐ™์€ ํ‚ค๊ฐ’์„ ์ด์šฉํ•œ๋‹ค

- ๋น„๋Œ€์นญํ‚ค(Asymmetric Encryption) : ์•”ํ˜ธํ™” - ๋ณตํ˜ธํ™” ํ•  ๋•Œ ๋‹ค๋ฅธ ํ‚ค๊ฐ’์„ ์ด์šฉํ•œ๋‹ค

- ํ•ด์‹ฑ (hashing) : ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ์•”ํ˜ธํ™”๋งŒ ๊ฐ€๋Šฅํ•˜๊ณ  ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์—†๋‹ค. ( ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ์— ์ด์šฉํ•จ) 

 

์‚ฌ์šฉ๋ฐฉ๋ฒ•

 

1. crypto-js ์„ค์น˜

npm install crypto-js

 

2. ์‚ฌ์šฉ ์˜ˆ์ œ

const CryptoJS = require("crypto-js");

// ์•”ํ˜ธํ™”
const message = "Hello, World!";
const secretKey = "mySecretKey";
const encrypted = CryptoJS.AES.encrypt(message, secretKey).toString();
console.log("Encrypted:", encrypted);

// ๋ณตํ˜ธํ™”
const bytes = CryptoJS.AES.decrypt(encrypted, secretKey);
const decrypted = bytes.toString(CryptoJS.enc.Utf8);
console.log("Decrypted:", decrypted);

 

 

 

 

 

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

TIL(swagger์‚ฌ์šฉํ•˜๊ธฐ)  (0) 2024.07.25
TIL(Proxy)  (2) 2024.07.24
TIL ( ํŒ€ํ”„๋กœ์ ํŠธ-์ดˆ๊ธฐ์„ค๊ณ„ )  (0) 2024.07.22
TIL ( ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ )  (0) 2024.07.19
TIL ( Trello ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  )  (0) 2024.07.18