猫史档案馆


【易语言程序】文件加密与解密(独立便捷版)

用户:查看:0 回复:0 评论:0 创建时间:2017-07-11T12:08:04



源代码 [文件加密.e] https://static.codemao.cn/FvPkud0i2ZhuAJwQpa44ylbbtwbe

程序 [fileCrypt.exe] https://static.codemao.cn/Fu7st55KIQ4kcYmWf1-sG948hgTV

===============================================

0.程序的下载

若您无法下载,请复制链接到迅雷下载(不用管文件名很奇怪,它是随机的)

*.e请用易语言打开。

*.exe请直接执行。

建议将EXE放在单独的文件夹中,因为该exe还会创建icons与tmp两个目录。(请不要删除!)

你可以将程序的快捷方式放到C:\Users\yezhi\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\易语言程序

方便以后使用。


▲添加到开始菜单的程序

1.特殊原理解析

本程序是一个练习作品,主要练习对注册表的修改与控制台参数的读取。本作品用到的是:修改右键菜单、修改文件关联。

文件关联代码如下:

置文件关联 (取运行目录 () + “\” + 取执行文件名 (), “cpr”, 取运行目录 () + “\icons\fileicon.ico”, “已加密的文件”)


.版本 2

.子程序 置文件关联, 逻辑型, 公开, 关联指定后缀名的文件,双击对应的文件时就运行该应用程序

.参数 关联应用程序, 文本型, 可空, 当双击对应的文件时就运行该应用程序打开

.参数 关联文件类型, 文本型, 可空, 欲关联的文件类型,如“ABC”

.参数 关联文件图标, 文本型, 可空, ICO文件路径或EXE文件路径,注销后才有效

.参数 关联类型描述, 文本型, 可空, 文件管理器在“类型”列显示的的描述

.如果真 (是否为空 (关联应用程序) 或 是否为空 (关联文件类型) 或 是否为空 (关联文件图标) 或 是否为空 (关联类型描述))

    删除注册项 (#根类, “.” + “关联文件类型”)

    删除注册项 (#根类, 关联文件类型 + “file\DefaultIcon”)

    删除注册项 (#根类, 关联文件类型 + “file\shell\open\command”)

    删除注册项 (#根类, 关联文件类型 + “file\shell\open”)

    删除注册项 (#根类, 关联文件类型 + “file\shell”)

    删除注册项 (#根类, 关联文件类型 + “file”)

    返回 (假)

.如果真结束

.如果真 (写注册项 (#根类, “.” + 关联文件类型 + “\”, 关联类型描述 + “file”) = 真 且 写注册项 (#根类, 关联文件类型 + “file\”, 关联类型描述) = 真 且 写注册项 (#根类, 关联文件类型 + “file\DefaultIcon\”, 关联文件图标 + “,0”) = 真 且 写注册项 (#根类, 关联文件类型 + “file\shell\open\command\”, 关联应用程序 + “ ” + #引号 + “%1” + #引号) = 真)

    返回 (真)

.如果真结束

返回 (假)

添加右键菜单代码如下:

添加右键 (“加密”, #引号 + 取运行目录 () + “\” + 取执行文件名 () + #引号 + “ .encry ” + #引号 + “%1” + #引号, “runas2”)


.版本 2

.子程序 添加右键, 逻辑型

.参数 标签, 文本型

.参数 命令, 文本型

.参数 命令目录, 文本型

.如果 (写注册项 (#根类, “*\shell\” + 命令目录 + “\”, 标签) 且 写注册项 (#根类, “*\shell\” + 命令目录 + “\command\”, 命令))

    返回 (真)

.否则

    返回 (假)

▲该命令与“添加右键菜单”不同,该命令添加的菜单是对所有文件起作用的。本程序的右键菜单将会占用注册表的 HKCR\*\shell\runas2 ,请保证这里没有其他菜单(否则将被覆盖)

删除右键菜单代码如下:

删除右键 (“runas2”)


.版本 2

.子程序 删除右键

.参数 命令目录, 文本型

运行 (“reg delete HKCR\*\shell\” + 命令目录 + “ /f”, 真, #隐藏窗口)

2.程序的基本使用方法(若看不懂,可忽略该部分,调到下一个)


▲新建一个文档用于测试加密

运行以下代码,打开加密窗口:

D:  注:此处输入exe存放盘符

cd exe存放目录

fileCrypt.exe .encry C:\Users\yezhi\Desktop\新建文件夹\测试文档.txt


▲你将会得到这个窗口。设置密码并加密,此处使用123.


▲加密后你的文件将被追加cpr后缀,请不要擅自更改,否则可能无法正常解密。

解密命令: fileCrypt C:\Users\yezhi\Desktop\新建文件夹\测试文档.txt.cpr


▲你将得到一个解密窗口。你需要提供正确密码123,如果如图中提供1234,无法解密。


▲解密后,程序将会自动去掉,还原文档。

2.用更方便的方法加密与解密

先从开始菜单中直接打开程序,记得用管喵权限(UAC)运行。


然后选择关联cpr(让你双击cpr文件就可以解密)与加入右键菜单(让你可以在右键中选取“加密”)


选择一个待加密文件


右键文件,选择加密。


设置密码并加密


完成后你会得到cpr(之所以有图标与描述,是因为cpr被关联了)


双击cpr,进行解密。需要提供加密时设置的密码。


若密码正确,文档将会解密。

3.特殊功能

解密时,你会看到有2个选项,我们尝试选择第二个。


然后确定弹出的弹窗,将会打开编辑器(默认的编辑工具)。你可以对其进行修改,接着保存。


完成编辑之后,关闭编辑器,在托盘中找到临时编辑图标,点击。


点击后,图标如果消失,说明文件已经保存了。接下来,尝试解密这个文件。


最后打开文件,你会发现临时编辑的内容已经起作用了。


===============================================

重要提示:

1.使用DES进行加密,因为RC4没有密码自校验的功能。

2.加密后文件大小应该差不多,会多出一点点(7字节左右)

3.下载链接报错与BUG报告请跟帖。


回复

上一页1 页 / 共 0下一页