jqueryencryptionserializationcryptography

Javascript encryption for JSON object


I have a JSON object that I generate from serializeArray on a form which I would like to encrypt. The application I am working on is intended to run only as a local file. What would be the best option for encrypting the data?


Solution

  • Just an idea. Use cryptoJS as suggested in this sample:

    var secret = "My Secret Passphrase";
    var plainText = "the brown fox jumped over the lazy dog";
    var encrypted = CryptoJS.AES.encrypt(plainText, secret);
    var decrypted = CryptoJS.AES.decrypt(encrypted, secret);
    
    document.getElementById("m1").innerHTML = encrypted;
    document.getElementById("m2").innerHTML = decrypted;
    document.getElementById("m3").innerHTML = decrypted.toString(CryptoJS.enc.Utf8);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
    <label>encrypted</label>
    <div id="m1"></div>
    <br>
    <label>decrypted</label>
    <div id="m2"></div>
    <br>
    <label>Original message</label>
    <div id="m3"></div>

    and encrypt all your data before placing it in localstorage. I do not see how you can implement this beside asking some sort of password from the user.