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

CryptJS

JavaScript 암호화 라이브러리

SEED

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

https://github.com/tomyun/crypto-js

※ 참고

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

예제

<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>
<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>
  • 결과
- 테스트
하하하$호호%숫2자$특^수@문6자$#~~Meta~~Stream~/~ 
U2FsdGVkX1+kK50NZtLTDE2ZbRwd36GhCb5wYSKTW0FRmmhv11z4cAEbuywuWM4NXhdFRAJ5+RL2jIuJC3kNHfyxXPKNBJo1rQJSDQlZ1ek= 
하하하$호호%숫2자$특^수@문6자$#~~Meta~~Stream~/~ 

참고