File upload GnuPG加密所有文件上载

File upload GnuPG加密所有文件上载,file-upload,public-key-encryption,File Upload,Public Key Encryption,我想在上传文件时对其进行加密,通常情况下,它会被写入磁盘,然后您可以从那里对其进行加密,我想在这之前对其进行加密。 有没有http服务器或应用程序框架的模块可以让我做到这一点,我不想花很多时间来编写这个软件,但如果需要的话,我会这样做 重要的是,没有未加密的记录会接触到硬盘 硬盘已经使用aes进行了加密,但由于服务器可以在我不知情的情况下被第三方访问,我更希望有某种方法防止实际数据/那/容易被泄露。系统管理员回答:预加密数据的ramdisk保留区。切勿触摸磁盘,问题已解决。否?这是我收到的答案,

我想在上传文件时对其进行加密,通常情况下,它会被写入磁盘,然后您可以从那里对其进行加密,我想在这之前对其进行加密。 有没有http服务器或应用程序框架的模块可以让我做到这一点,我不想花很多时间来编写这个软件,但如果需要的话,我会这样做

重要的是,没有未加密的记录会接触到硬盘


硬盘已经使用aes进行了加密,但由于服务器可以在我不知情的情况下被第三方访问,我更希望有某种方法防止实际数据/那/容易被泄露。

系统管理员回答:预加密数据的ramdisk保留区。切勿触摸磁盘,问题已解决。否?

这是我收到的答案,但还没有测试过,在我测试过它的确切功能之前,我不会将它标记为答案

答案是这个django项目,它用于泄露网站,它将整个文件读入内存,然后对其进行加密。

然而,有一种方法可以将数据分块

还有一个问题是,httpd正在处理文件上载,并且可以忽略应用程序框架,具体取决于。。。所以在我确定它在做什么之前,我需要做很多测试

不过,我很肯定你可以用wsgi来做这件事,我很肯定django在apache中使用mod_wsgi时会做这件事。。。不确定其他web服务器使用什么,我更喜欢使用更轻的服务器


编辑:如果有人碰巧对此进行了严格的测试,并将其作为答案发布,我会将其标记为答案。

我最终使用的是mod_wsgi

有了它,我可以将上传作为一个流,然后使用PyCrypto对其进行加密 效果很好

        inputLength  = int(environ.get('CONTENT_LENGTH', 0))
        input = environ['wsgi.input']
        f = open(dropDir + '/input','w')
        while 1:
                remain = inputLength - f.tell()
                if remain <= 0: break
                chunk = input.read(min(chunksize, remain))
                if  not chunk: break
                f.write(crypt.encrypt(chunk))
        f.close()
inputLength=int(环境获取('CONTENT\u LENGTH',0))
input=environ['wsgi.input']
f=打开(dropDir+'/input',w')
而1:
剩余=输入长度-f.tell()

若我并没有太多的内存可用,加上这些可能是相当大的文件,这是个好主意。