파일을 서버에 업로드하는 것과 관련된 기존 프론트 엔드 (각진) 코드를 수정해야합니다. 이제 파일을 업로드하기 전에 암호화해야합니다. 나는 그러나 결코 상황의 종류와, 다른 프로젝트에서 포지를 사용하고있다Javascript 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를 사용 파일을 즉시 암호화하고 FormData 내용으로 추가하는 방법을 실제로 모르겠다.
포지 쉬운 API를 제공
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;
백엔드 파일 강력 함 사용하여 모든 파일 hanlding이 이미 연결되어 접수에. 따라서 기존 프론트 엔드 로직을 사용하는 대신 암호화 로직을 삽입하는 방법을 고수하고 싶습니다. 그것이 암호화되어야하는 것은 전체 formdata가 아닙니다 ... 나는 아직이 문제에 접근하기위한 좋은 단서를 찾지 못했습니다.
제안을 매우 환영합니다!
여기의 목표는 무엇입니까? 전송중인 파일을 보호하거나 웹 서버를 제어하는 사람으로부터 파일을 보호하려고합니까? – Quentin
질문이 아니지만 기본 [crypto] (https://www.w3.org/TR/WebCryptoAPI/) API를 살펴 보았습니까? (사용자가 신뢰할 수있는 최신 브라우저를 사용하는 경우 실제 암호화 된 임의성 및 내장 알고리즘을 제공합니다.) – Touffy
안녕하세요 @Quentin, 실제로 원격 서버는 내용을 읽을 수 없어야합니다. 브라우저와 실제 처리 엔진 사이의 중간 노드입니다. 의료 데이터는 잠재적 인 오용과 관련하여 민감합니다. – Jem