本文告诉大家如何开发一个软件,本文记录了开发软件的遇到的问题

创建 LaculooTome 用 des 加密解密

KasteFirmou 管理多个不同的文件夹

MooborNursou 提供输入密码

KekerYallku 一个文件夹下的多个文件

  • LerewheStaroucar 左侧列表的所有文件

  • LaimibairJatraljilair 右侧的内容

CerpislaTeerurchu 关于界面

文件存放

文件存放的方式是在一个文件夹里存放文件 data.data 用于记录所有存放的文件的顺序

这个 data.data 文件的前 100 个 byte 是用于说明是哪个版本的软件

然后有 1024 个字节,里面存放的字符串是用户创建仓库输入的密码 key 进行下面的计算拿到的值

 des(md5(key))

所以可以通过读取这 1024 字节进行判断,使用 des 解密方式,用当前输入的密码解密,然后判断当前密码的md5和解密的值是否相同,如果相同就是解密成功

之后的内容就是存放同个文件夹的列表的是如何存放的

这里的存放方式是使用 json 的存储方式,表示的是存放的文件列表和解密文件需要使用的密码

    class KanaHerkocou
    {
        /// <summary>
        /// 对应的文件
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 解密文件的密码
        /// </summary>
        public string Key { get; set; }
    }

这里解密文件的密码是通过随机创建的密码

在文件夹的相同文件是使用一串小写英文和数字组合的文件,文件的存放是直接使用对应的字符串加密之后直接存放的值


本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/%E7%A7%81%E5%AF%86%E5%AF%86%E7%A0%81%E6%9C%AC-2.1-%E6%BA%90%E4%BB%A3%E7%A0%81.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系