注册CSDN账号很久了,一直都没有发过博客。反思自己是不是太缺乏分享精神了。把自己的学习过程写成博客,也能帮他人解决问题,何乐而不为呢?
我的兴趣比较杂,正好最近拿HTML5做了个小东西,就从它开始吧。
在学习HTML5的过程中,深深感觉到Blob和FileReader的灵活和强大——已经完全可以做到在本地打开文件,用Javascript处理一番后,再保存为本地文件。于是就写了这么一个例子,来demo一下这种纯粹客户端的HTML5应用。
encFiles.htm——把多个图片文件打包并且加密,或者把一个视频文件加密,所生成的文件是一个伪装的jpg图片,在其他软件看来,这是个正常的jpg图片,但可以在decFile.htm中,把其中包含的内容解密出来。设置的密码可以是任何字符,包括中文
decFiles.htm——把encFiles.htm加密的文件解密出来,并且在网页中浏览图片或者看视频。图片浏览支持缩略图、适合窗口和图片原始大小共三种模式。
这两个文件都不引用其他文件(css、javascript或者图片、flash什么的),也不通过任何方式同服务器联络,它们完全可以被视为单文件的绿色软件,只不过这个软件是在浏览器中运行罢了。
在chrome浏览器23.0中测试通过,比较新的基于webkit核心的浏览器应该都能支持。
里面用到了Blob、FileReader、Canvas、FileSaver以及若干Github上的做加解密的Javascript库。时间有限就不细说了。如果有机会,另外开个博文来写。
东西放在http://download.csdn.net/detail/widekey/8071231,欢迎尝鲜。