CNWTEPRG 发表于 2023-9-23 18:44:24

易语言 删除文件增强版 保密文件的填充随机数据擦除 以防止数据恢复找回 (返回逻辑型)

本帖最后由 CNWTEPRG 于 2023-9-23 18:45 编辑


.版本 2

.程序集 程序集1

.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码

置随机数种子 ()
_临时子程序 ()' 在初始化代码执行完毕后调用测试代码
返回 (0)' 可以根据您的需要返回任意数值

.子程序 _临时子程序

' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
信息框 (删除文件_防止恢复 (“file.txt”), 0, , )

.子程序 删除文件_防止恢复, 逻辑型, 公开, 删除前填充随机数据擦除文件 防止数据恢复软件找回文件数据 (成功返回真,失败返回假)
.参数 欲删除的文件名, 文本型, , 适用于保密文件删除
.参数 文件擦除次数, 字节型, 可空, 擦除次数:1~255 0:不擦除,留空默认为1
.参数 缓存容量, 整数型, 可空, 一次处理多少字节,留空默认1Mb
.局部变量 文件号, 整数型
.局部变量 长度, 整数型

.如果真 (置文件属性 (欲删除的文件名, #隐藏文件) = 假)
    返回 (假)
.如果真结束
.如果真 (缓存容量 ≤ 0)
    缓存容量 = 1048576
.如果真结束
.如果真 (是否为空 (文件擦除次数))
    文件擦除次数 = 1
.如果真结束
.如果真 (文件擦除次数 > 0)
    文件号 = 打开文件 (欲删除的文件名, #读写, #禁止读写)
    .如果真 (文件号 = 0)
      返回 (假)
    .如果真结束
    .计次循环首 (文件擦除次数, )
      .如果真 (移动读写位置 (文件号, #文件首, 0) = 假)
            返回 (假)
      .如果真结束
      .循环判断首 ()
            长度 = 取字节集长度 (读入字节集 (文件号, 缓存容量))
            .判断开始 (长度 = 0)
                跳出循环 ()
            .判断 (移动读写位置 (文件号, #现行位置, -长度) = 假)
                跳出循环 ()
            .判断 (写出字节集 (文件号, 取随机字节集 (长度)) = 假)
                跳出循环 ()
            .默认

            .判断结束

      .循环判断尾 (真)
    .计次循环尾 ()
    关闭文件 (文件号)
.如果真结束
返回 (删除文件 (欲删除的文件名))

.子程序 取随机字节集, 字节集
.参数 长度, 整数型
.局部变量 字节集, 字节集
.局部变量 计数, 整数型

字节集 = 取空白字节集 (长度)
.计次循环首 (长度, 计数)
    字节集 [计数] = 取随机数 (0, 255)
.计次循环尾 ()
返回 (字节集)

页: [1]
查看完整版本: 易语言 删除文件增强版 保密文件的填充随机数据擦除 以防止数据恢复找回 (返回逻辑型)