问题:
如何使用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>