0
我需要修改涉及将文件上传到服务器的现有前端(角度)代码。现在这些文件需要在上传之前进行加密。Javascript formdata:在追加之前加密文件
目前的方法是使用FORMDATA追加了一些文件,并在单个请求发送给他们如下图所示:
function uploadFiles(wrappers){
var data = new FormData();
// Add each file
for(var i = 0; i < wrappers.length; i++){
var wrapper = wrappers[i];
var file = wrapper.file;
data.append('file_' + i, file);
}
$http.post(uri, data, requestCfg).then(
/*...*
我一直使用伪造的其他项目,但从来没有在这种情况下,并
实际上并没有看到如何即时加密文件,并将它们作为FormData内容追加。
Forge提供一个简单的API:使用厉害文件和所有文件hanlding已经有线
var key = forge.random.getBytesSync(16);
var iv = forge.random.getBytesSync(8);
// encrypt some bytes
var cipher = forge.rc2.createEncryptionCipher(key);
cipher.start(iv);
cipher.update(forge.util.createBuffer(someBytes));
cipher.finish();
var encrypted = cipher.output;
后端临危。因此,我想坚持使用现有的前端逻辑,但只需插入加密逻辑即可。在这一点上,它不是必须加密的整个表单数据......我还没有找到一个好的方法来处理这个问题。
建议非常欢迎!
这里的目标是什么?您是否试图保护传输中的文件或保护文件与控制网络服务器的人员? – Quentin
不是你的问题,但你看过本地的[加密](https://www.w3.org/TR/WebCryptoAPI/)API吗? (如果你的用户有可靠的最新浏览器,它提供了真正的加密随机性和内置算法) – Touffy
嗨@Quentin的确,远程服务器一定不能读取内容。它是浏览器和实际处理引擎之间的中间节点。医疗数据对潜在的滥用似乎很敏感。 – Jem