字符串-网页上传文件时怎么把文件加密后上传

问题描述

网页上传文件时怎么把文件加密后上传
我想在html页面选择一个上传文件,在js获得这个文件的信息,然后对这个文件进行对称加密后再上传。初步想法是把文件是以数据流发到后台再生成一个完整文件的,但怎么获得这个文件的数据流?另一个想法是把先把文件转成字符串,然后加密,再把字符串生成文件2,然后上传,但怎样才能转成字符串并且把加密的字符串转回文件?请大神解答,感激不尽

解决方案

在Web架构中如果要保密, 最简单最安全的方法是使用HTTPS协议。

用js获取文件数据流是可以的, 但需要新版浏览器的支持, 通过 HTML5 File API 可以作到。 生成文件2可能有些麻烦, 这需要用户额外的授权。 通过 XMLHttpRequest (Level 2) 可以直接上传二进制数据。

最复杂的是对称加密, js 缺乏内置的加密API, 自己实现虽不是完全不可能,但恐怕难度较大,或许网络上有现成的开源代码, 可以去找一找。

关键问题是, 如何分发密钥? 通过明文分发肯定是没有意义的, 可能的方案是: 使用用户登录的密码做为种子密钥, 但随之而来的问题是如何保护用户的密码(不能明文发送), 所以这又需要使用kerberos之类的方案解决。

最终HTTPS方案完美胜出

时间: 2024-09-02 08:24:44

字符串-网页上传文件时怎么把文件加密后上传的相关文章

kindeditor 上传文件时 怎么让 文件说明 自动生成

问题描述 kindeditor 上传文件时 怎么让 文件说明 自动生成 修改 kindeditor 上传组件 文件说明 默认返回 文件名 这个应该怎么实现 需要修改什么文件 要详细的 谢谢啦 解决方案 http://blog.sina.com.cn/s/blog_533f138e01019re7.html 解决方案二: kindeditor的demo里面有对应的语言,修改语言文件名的生成规则就好了,不过建议还是用时间命令,要不有中文你处理不好编码小心乱码..

删除文件时排除特定文件

删除文件时排除特定文件 删除当前目录下所有 *.txt文件,除了test.txt rm `ls *.txt|egrep -v test.txt` 或者 rm `ls *.txt|awk '{if($0 != "test.txt") print $0}'` 排除多个文件 rm `ls *.txt|egrep -v '(test.txt|fff.txt|ppp.txt)'` --------------- rm -f `ls *.log.1|egrep -v '(access-2010-0

win7系统删除文件时提示该文件太大无法放入回收站怎么办

  win7系统删除文件时提示该文件太大无法放入回收站故障图: 解决方法: 1.我们可以将回收站的空间设置的大一点,首先鼠标右击桌面上的回收站选择"属性"选项; 2.在打开的回收站属性界面中,可以看到每一个盘符都有对应的删除文件大小限制,这里我们可以选择自定义回收站大小,然后修改成适合的大小,之后点击确定按钮即可解决.

activex-C#开发ActiveX控件调用dll文件时,dll文件放在什么位置,我的出错了

问题描述 C#开发ActiveX控件调用dll文件时,dll文件放在什么位置,我的出错了 通过c#谢了一个很简单的Activex控件,调用dll文件(dll文件是c++写的,并且dll文件不是com组件),在普通的容器中调用动态库都没问题,但是通过activex时就会出错,请问这是问什么,请留言,也可以加我qq:574225218 解决方案 在dll文件中调用VBA的命令 解决方案二: 是在IE中测试出错么?尝试把浏览器的安全等级设置全部调到最低,在客户端安装.net framework并且运行

php上传Excel文件时如何判断文件中有图片

 代码如下 复制代码 $excelPath = 'Test.xls';    $objReader = PHPExcel_IOFactory::createReader('Excel5');  $objReader->setReadDataOnly(true);    $objPHPExcel = $objReader->load($excelPath);  $currentSheet = $objPHPExcel->getActiveSheet();  $AllImages= $cur

C#读取文件时,判断文件乱码问题

问题描述 请问,通过StreamReaderobjReader=newStreamReader(file.ToString(),UnicodeEncoding.GetEncoding("utf-8"));读取文件如何判断读取的文件里面还有乱码? 解决方案 解决方案二:你已经把他格式成了utf-8了..我觉得是你在读取文件的时候看这个文件是什么格式的也许大神们知道怎么做..呵呵解决方案三:一般的TXT文本用默认就可以了解决方案四:StreamReaderobjReader=newStre

win8.1系统搜索文件时遇到同一个文件重复显示怎么办

  解决方法如下: 1.在控制面板找到索引选项; 2.点击高级; 3.点击重建; 4.点击确定,重建索引选项开始进行.

JS实现表单多文件上传样式美化支持选中文件后删除相关项_javascript技巧

开发中会经常涉及到文件上传的需求,根据业务不同的需求,有不同的文件上传情况. 有简单的单文件上传,有多文件上传,因浏览器原生的文件上传样式及功能的支持度不算太高,很多时候我们会对样式进行美化,对功能进行完善. 本文根据一个例子,对多文件的上传样式做了一些简单的美化(其实也没怎么美化..),同时支持选择文件后自定义删除相关的文件,最后再上传 文章篇幅较长,先简单看看图示: 一.文件上传基础 1. 单文件上传 最简单的文件上传,是单文件上传,form标签中加入enctype="multipart/f

C#用FTP上传文件,经常出现远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)。

问题描述 //根据uri创建FtpWebRequest对象reqFTP=(FtpWebRequest)FtpWebRequest.Create(newUri(path));//指定数据传输类型reqFTP.UseBinary=true;//ftp用户名和密码reqFTP.Credentials=newNetworkCredential(ftpUserID,ftpPassword);reqFTP.KeepAlive=false;reqFTP.UsePassive=true;reqFTP.ReadW