CryptoJS Encryption

CryptoJS Encryption

by Soldier

HTML

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
	<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/components/pad-nopadding-min.js"></script>
<div id="1"></div>
<div id="2"></div>

JavaScript

function padString(source) {
    var paddingChar = ' ';
    var size = 16;
    var x = source.length % size;
    var padLength = size - x;
    
    for (var i = 0; i < padLength; i++) source += paddingChar;
    
    return source;
}

var key = CryptoJS.enc.Hex.parse('0123456789abcdef');
var iv  = CryptoJS.enc.Hex.parse('fedcba9876543210');
var message = "soldier";
var padMsg = padString(message);

var encrypted = CryptoJS.AES.encrypt(padMsg, key, { iv: iv, padding: CryptoJS.pad.NoPadding, mode: CryptoJS.mode.CBC});

$('#1').text("Encrypted: "+encrypted);
$('#2').text("Encrypted text: "+encrypted.ciphertext);