情景:当我们有一些几个G的大文件要加密保存时,如果全部加密,则又费时间由费硬盘,因为大文件的加密需要很久,而且加密后的体积会大很多过原文件。
源码很简单,这里简单的说一下思路:只加密文件头的,因为很多文件都有着独特的文件头,一般软件读取文件都会先判断文件头是不是正确,然后再决定是否继续读取。而然一旦加密了文件头,则可以使大部分的软件都将无法读取。
注意事项:
1.如果属于txt,等可以直接明文可读的,没有格式可言的文件并不适用。
2.由于是简单的写了一个例子,加密和解密没有校验,所以如果加密和解密不是同样的密码,没有判断是否正确是否解密成功。
解密返回的仅是正常的读写成功。
3.因为没有校验,所以不要作死的测试加密和解密不一样的密码,会导致双重加密。当然你备份了的话随意。
.版本 2
.支持库 spec
.支持库 dp1
.程序集 程序集1
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
.局部变量 文件号, 整数型
调试输出 (加密文件头 (“123.exe”, “123”, ))
调试输出 (解密文件头 (“123.exe”, “123”))
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 加密文件头, 逻辑型
.参数 文件路径, 文本型
.参数 密码, 文本型
.参数 欲加密文件头长度, 整数型, 可空
.局部变量 文件号, 整数型
.局部变量 文件头, 字节集
文件号 = 打开文件 (文件路径, #读写, )
.如果真 (文件号 = 0)
返回 (假)
.如果真结束
.如果真 (欲加密文件头长度 ≤ 0)
欲加密文件头长度 = 1024
.如果真结束
文件头 = 读入字节集 (文件号, 欲加密文件头长度)
移到文件首 (文件号)
删除数据 (文件号, 欲加密文件头长度)
移到文件首 (文件号)
文件头 = 加密数据 (文件头, 密码, #DES算法)
插入字节集 (文件号, 到字节集 (取字节集长度 (文件头)) + 文件头)
关闭文件 (文件号)
返回 (真)
.子程序 解密文件头, 逻辑型
.参数 文件路径, 文本型
.参数 密码, 文本型
.局部变量 文件号, 整数型
.局部变量 文件头, 字节集
.局部变量 文件头长度, 整数型
文件号 = 打开文件 (文件路径, #读写, )
.如果真 (文件号 = 0)
返回 (假)
.如果真结束
文件头长度 = 取字节集数据 (读入字节集 (文件号, 4), #整数型, )
文件头 = 读入字节集 (文件号, 文件头长度)
文件头 = 解密数据 (文件头, 密码, #DES算法)
移到文件首 (文件号)
删除数据 (文件号, 文件头长度 + 4)
移到文件首 (文件号)
插入字节集 (文件号, 文件头)
关闭文件 (文件号)
返回 (真)
易语言读取驱动器加密
易语言给大型文件加密
易语言加密源码
易语言+打开加密文件
易语言文件加解密
源码对大文件加密
易语言+对文件加密解密+例子下载
易语言源码明文自动分析加密工具