我对文本文件进行了加密。如何处理任何类型的文件?

时间:2019-04-04 12:20:42

标签: javascript

问题:

如何使用Javascript加密和解密任何类型的文件?我可以包括任何可以加密的库吗?

我的问题是我需要在浏览器中加密和解密任何类型的文件,但是我的代码仅适用于文本。我需要一个代码来加密和解密任何类型的文件。

当前情况:

以下代码在与文本文件一起使用时可以正常工作,但不适用于任何其他文件类型:

        <!DOCTYPE html>
        <html>
            <head>
                <script src = "F:\GitHub\sample\example\script\forge.all.min.js"></script>
                <script src = "F:\GitHub\sample\example\script\forge.min.js"></script>
            </head>
        <body onload="myFunction()"> 

        <input type="file" id="myFile" multiple size="50" onchange="myFunction()">

        <p id="demo"></p>

        <script>
        function myFunction(){
          var x = document.getElementById("myFile");
          var txt = "";
          var file = x.files[0];
          var filename = file.name;

        var key = forge.random.getBytesSync(16);
        var iv = forge.random.getBytesSync(8);
        var cipher = forge.rc2.createEncryptionCipher(key);
        cipher.start(iv);
        cipher.update(forge.util.createBuffer());
        cipher.finish();
        var encrypted = cipher.output;
        console.log(encrypted);
        console.log(encrypted.toHex());
        var cipher = forge.rc2.createDecryptionCipher(key);
        cipher.start(iv);
        cipher.update(encrypted);
        cipher.finish();
        console.log(cipher.output);
        console.log(cipher.output.toHex());
          document.getElementById("demo").innerHTML = encrypted;
        }
        </script>

        <p><strong>Tip:</strong> Use the Control or the Shift key to select multiple files.</p>

        </body>
        </html>

0 个答案:

没有答案