本文告诉大家如何开发一个软件,本文记录了开发软件的遇到的问题
创建 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/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。