JSFiddle - React, Tailwind, and code Playground

by Vincent Wang

HTML

<SCRIPT SRC="http://eu.static.mega.co.nz/sjcl_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/crypto_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/rsa_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/hex_1.js"></SCRIPT>
<SCRIPT SRC="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/tripledes.js"></SCRIPT>

<body onload="testTripleDESEncryption();">

Encrypted Value:<span id ="encryptSpan" runat="server"></span><br/>
Decrypted Value:<span id ="decryptSpan" runat="server"></span>
    
</body>

JavaScript

function parseHexString(str) { 
    var result = [];
    while (str.length >= 8) { 
        result.push(parseInt(str.substring(0, 8), 16));
		
        str = str.substring(8, str.length);
    }
    return result;
}

function createHexString(arr) {
    var result = "";
    for (var i = 0; i < arr.length; i++) {
        var str = arr[i].toString(16);
		
		z = 8 - str.length + 1;
        str = Array(z).join("0") + str;

        result += str;
    }	
    return result;
}

// Convert a byte array to a hex string
 function bytesToHex (bytes) {
     for (var hex = [], i = 0; i < bytes.length; i++) {
         hex.push((bytes[i] >>> 4).toString(16));
         hex.push((bytes[i] & 0xF).toString(16));
     }
     return hex.join("");
 }

function testTripleDESEncryption()
{
  //var key = CryptoJS.enc.Utf8.parse('0000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018');
//key = CryptoJS.enc.Utf8.stringify(key)  
    
    //var key = '0000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018';
     //key = CryptoJS.enc.Utf8.stringify(key)
     //key = CryptoJS.enc.Hex.parse(key);
    
//key = CryptoJS.enc.Hex.parse(CryptoJS.enc.Utf8.parse(key).toString(CryptoJS.enc.Hex))        
  //var iv = CryptoJS.enc.Utf8.parse('000000410000006e000000440000001a00000045000000b2000000c8000000db');

//var iv = '000000410000006e000000440000001a00000045000000b2000000c8000000db';
     //iv = CryptoJS.enc.Utf8.stringify(iv)
     //iv = CryptoJS.enc.Hex.parse(CryptoJS.enc.Utf8.parse(iv).toString(CryptoJS.enc.Hex));
       //iv = CryptoJS.enc.Hex.parse(iv);

    
//iv = CryptoJS.enc.Hex.parse(CryptoJS.enc.Utf8.parse(iv).toString(CryptoJS.enc.Hex))      
    
    //var byte[] keyByte = {(byte) 1, (byte) 2, (byte) 3, (byte) 4,...