红孩儿编辑器的模块设计16
红孩儿编辑器的模块设计16
加密与解密的功能
在配置信息中,进行配置,有普通的文件保存与加密文件保存
在加密保存的信息下,需要用户设置密码,在打开加密的文件时,
需要输入密码,才能解密文件,进行正常的浏览与编辑文件。
还有加密算法的设置,例如方法1,方法2,方法3
实现过程:
在加密文件的保存时,加上八个字节的文件头。前七个字节是标识符,
标识这个文件是一个加密的文件,读取时需要解密,第八个字节指示使用的
加密算法。
定义这七个字节是256,256,256,256,256,256,256。
定义密码为0~2的32次方-1这个范围内的一个整数。
方法1加密的算法定义为偏移法,偏移量根据密码而定
方法2加密的算法定义为替换法,本系统中内置一个替换的表格,根据
表格的内容进行替换。
其它的方法,在定义时,添加到本文档中。
解密的过程,与加密时相反,是它的逆向操作。
为什么没有实现著名的RSA,DES等安全的加密算法,一是自定义的
简单算法,实现的成本非常低,并且能够满足现阶段的安全需求。二是
加解密部分是一个非常独立的模块,在未来可以根据需要,随时替换成
需要的算法。
文件自动销毁的功能
这个功能是安全的一部分,需要在配置信息中进行配置。
如果配置了自动销毁功能,在文件进行保存时,会在文件的尾部,追加若干个
字节的执行删除文件的二进制的代码数据。
用本系统打开文件时是正常显示,系统会检测到文件尾的代码的存在,而隐藏
它的显示。用其它的编辑器打开时,文件尾的代码,要执行,整个文件的删除操作。
红孩儿编辑器的模块设计16相关推荐
- 用Tkinter打造自己的Python IDE开发工具(4)利用HP_tk模块设计自己的代码编辑器
用Tkinter打造自己的Python IDE开发工具(4)利用HP_tk模块设计自己的代码编辑器 HP_tk.py模块是小白量化第二代量化系统中的开发模块.其中HP_tk.py模块是小白量化系统GU ...
- 用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器
用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器 前面我们介绍了在Tkinter中使用exec()函数运行用户程序的方法.exec()采用多线程 ...
- C++ 开发者怒了:这个无用的模块设计最终会害死 C++!
2018 年年底,C++ 标准委员会历史上规模最大的一次会议在美国 San Diego 召开,讨论了哪些特性要加入到 C++20 中.其中,Modules 便是可能进入 C++ 20 的一大重要特性: ...
- STOpen硬件设计4-周边模块设计二(CAN+RS485+UART+IO扩展等)
本章继续设计剩余的模块,完成一个基本系统的设计工作,然后就可以开始软件工作了: 一个调试UART,一个输出UART UART的设计相对比较简单,把RX,TX直接连接到需要输出的插座就可以.在本项目设计 ...
- 三甲:在线富文本编辑器的架构设计及实践
12月5日, 极客邦(InfoQ)在深圳举办 GMTC 大会,蚂蚁集团语雀编辑器技术同学三甲受邀参加大会并分享<在线富文本编辑器的架构设计及实践>,以下内容是根据现场演讲收集整理. 大家下 ...
- 客户关系管理项目——客户管理模块设计
一 模块需求细化 1 实现客户信息录入 "添加"只有具有添加客户权限的用户才可以填写,只有具备3号角色的用户才能负责客户的添加,即超链接上会出现"添加客户"超链 ...
- 商场计算机管理系统,计算机专业毕业论文商场管理系统—数据库设计及人事管理模块设计.doc...
韶 关 学 院 毕 业 设 计 题 目:商场管理系统 -数据库设计及人事管理模块设计 学生姓名:xx 学 号:xx 系 (院):计算机科学系 专 业:计算机科学与技术 班 级:04级本(2)班 指导教 ...
- PX4模块设计之四:MAVLink简介
PX4模块设计之四:MAVLink简介 1. MAVLink(PX4)应用简介 2. MAVLink v2.0新特性 3. MAVLink协议版本 4. MAVLink通信协议帧 4.1 MAVLin ...
- BetaFlight模块设计之三十五:RSSI信号强度链路稳定性分析
BetaFlight模块设计之三十五:RSSI信号强度&链路稳定性分析 1. RSSI信号强度 1.1 RSSI Value 1.2 RSSI dBm Value 2. 链路稳定性 3. RS ...
- BetaFlight模块设计之二十六:接收机任务分析
BetaFlight模块设计之二十六:接收机任务分析 接收机任务 配置情况 硬件配置 软件配置 驱动配置 sbus驱动函数分析 sbusDataReceive函数 sbusFrameStatus函数 ...
最新文章
- 通过apt自动生成建造者模式单线程版代码(三)
- 基于指令和混合的前端通用埋点方案
- [NPUCTF2020]你好sao啊
- MySQL事务以及加锁机制
- 数据库班级字段怎么定义名称_班级名称
- adb server is out of date. linux,adb server is out of date. killing完美解决
- ORACLE ebs 11.5.10 for linux 安装心得
- python安装包错误的问题
- freeMarker(四)——模板开发指南之模板
- 东静给排水CAD绘图辅助软件(LBJ2019)
- C语言教学模式 教学方法改革,C语言教学模式改革探究.docx
- linux提取声卡的codec教程,声卡Codec自动解析与ConfigData生成工具(Windows Version)
- Oracle -PL/SQL Developer错误解决方案(ORA-02291)
- 苹果手机iframe撑大父页解决办法
- OpenNLP进行自然语言处理
- 获取物料批次特性取值BAPI
- 杰理zHiUSB设备功能【篇】
- 汽车环境与耐久性测试
- 计算机组成位模式,Pentium的工作模式-计算机组成原理与汇编语言-电子发烧友网站...
- UEC++:UKismetMathLibrary::RandomPointInBoundingBox盒体内取随机坐标的方法