LANGUAGE/HTML & CSS & JS 2017. 11. 29. 09:36

!markdown


# CryptJS


JavaScript 암호화 라이브러리




## SEED


어떤 분이 CryptoJS에 SEED를 구현해 주신거 같다.


[https://github.com/tomyun/crypto-js](https://github.com/tomyun/crypto-js)



※ 참고


CryptJS는 기본적으로 `Salted__` 라는 문자를 앞에 붙여서 암호화를 한다. 





### 예제


```html

<script src="https://rawgithub.com/tomyun/crypto-js/seed-3.1.2/build/rollups/seed.js"></script>

<script>

    var plainText = "하하하$호호%숫2자$특^수@문6자$#~~Meta~~Stream~/~";

    var key = "1234567890123456";    

    var encrypted = CryptoJS.SEED.encrypt(plainText, key).toString();

    var decrypted = CryptoJS.SEED.decrypt(encrypted, key).toString(CryptoJS.enc.Utf8);

    document.writeln(' - 테스트</br>');      

    document.writeln(plainText);

    document.writeln('</br>');    

    document.writeln(encrypted);

    document.writeln('</br>');

    document.writeln(decrypted);  

    document.writeln('</br></br>');

</script>

```


```html

<script src="https://rawgithub.com/tomyun/crypto-js/seed-3.1.2/build/rollups/seed.js"></script>

<script>

    var plainText = "하하하$호호%숫2자$특^수@문6자$#~~Meta~~Stream~/~";

    var key = "1234567890123456";    

    var encrypted = CryptoJS.SEED.encrypt(plainText, key, { iv: key, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }).toString();

    var decrypted = CryptoJS.SEED.decrypt(encrypted, key, { iv: key, padding: CryptoJS.pad.Pkcs7 }).toString(CryptoJS.enc.Utf8);

    document.writeln(' - 테스트</br>');      

    document.writeln(plainText);

    document.writeln('</br>');    

    document.writeln(encrypted);

    document.writeln('</br>');

    document.writeln(decrypted);  

    document.writeln('</br></br>');      

</script>

```


- 결과


```log

- 테스트
하하하$호호%숫2자$특^수@문6자$#~~Meta~~Stream~/~ 
U2FsdGVkX1+kK50NZtLTDE2ZbRwd36GhCb5wYSKTW0FRmmhv11z4cAEbuywuWM4NXhdFRAJ5+RL2jIuJC3kNHfyxXPKNBJo1rQJSDQlZ1ek= 
하하하$호호%숫2자$특^수@문6자$#~~Meta~~Stream~/~ 

```



### 참고


- tomyun/crypto-js: [https://github.com/tomyun/crypto-js](https://github.com/tomyun/crypto-js)