红孩儿编辑器的模块设计16

加密与解密的功能
在配置信息中,进行配置,有普通的文件保存与加密文件保存
在加密保存的信息下,需要用户设置密码,在打开加密的文件时,
需要输入密码,才能解密文件,进行正常的浏览与编辑文件。
还有加密算法的设置,例如方法1,方法2,方法3

实现过程:
在加密文件的保存时,加上八个字节的文件头。前七个字节是标识符,
标识这个文件是一个加密的文件,读取时需要解密,第八个字节指示使用的
加密算法。

定义这七个字节是256,256,256,256,256,256,256。
定义密码为0~2的32次方-1这个范围内的一个整数。
方法1加密的算法定义为偏移法,偏移量根据密码而定
方法2加密的算法定义为替换法,本系统中内置一个替换的表格,根据
表格的内容进行替换。
其它的方法,在定义时,添加到本文档中。

解密的过程,与加密时相反,是它的逆向操作。

为什么没有实现著名的RSA,DES等安全的加密算法,一是自定义的
简单算法,实现的成本非常低,并且能够满足现阶段的安全需求。二是
加解密部分是一个非常独立的模块,在未来可以根据需要,随时替换成
需要的算法。

文件自动销毁的功能
这个功能是安全的一部分,需要在配置信息中进行配置。
如果配置了自动销毁功能,在文件进行保存时,会在文件的尾部,追加若干个
字节的执行删除文件的二进制的代码数据。
用本系统打开文件时是正常显示,系统会检测到文件尾的代码的存在,而隐藏
它的显示。用其它的编辑器打开时,文件尾的代码,要执行,整个文件的删除操作。

红孩儿编辑器的模块设计16相关推荐

  1. 用Tkinter打造自己的Python IDE开发工具(4)利用HP_tk模块设计自己的代码编辑器

    用Tkinter打造自己的Python IDE开发工具(4)利用HP_tk模块设计自己的代码编辑器 HP_tk.py模块是小白量化第二代量化系统中的开发模块.其中HP_tk.py模块是小白量化系统GU ...

  2. 用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器

    用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器 前面我们介绍了在Tkinter中使用exec()函数运行用户程序的方法.exec()采用多线程 ...

  3. C++ 开发者怒了:这个无用的模块设计最终会害死 C++!

    2018 年年底,C++ 标准委员会历史上规模最大的一次会议在美国 San Diego 召开,讨论了哪些特性要加入到 C++20 中.其中,Modules 便是可能进入 C++ 20 的一大重要特性: ...

  4. STOpen硬件设计4-周边模块设计二(CAN+RS485+UART+IO扩展等)

    本章继续设计剩余的模块,完成一个基本系统的设计工作,然后就可以开始软件工作了: 一个调试UART,一个输出UART UART的设计相对比较简单,把RX,TX直接连接到需要输出的插座就可以.在本项目设计 ...

  5. 三甲:在线富文本编辑器的架构设计及实践

    12月5日, 极客邦(InfoQ)在深圳举办 GMTC 大会,蚂蚁集团语雀编辑器技术同学三甲受邀参加大会并分享<在线富文本编辑器的架构设计及实践>,以下内容是根据现场演讲收集整理. 大家下 ...

  6. 客户关系管理项目——客户管理模块设计

    一 模块需求细化 1 实现客户信息录入 "添加"只有具有添加客户权限的用户才可以填写,只有具备3号角色的用户才能负责客户的添加,即超链接上会出现"添加客户"超链 ...

  7. 商场计算机管理系统,计算机专业毕业论文商场管理系统—数据库设计及人事管理模块设计.doc...

    韶 关 学 院 毕 业 设 计 题 目:商场管理系统 -数据库设计及人事管理模块设计 学生姓名:xx 学 号:xx 系 (院):计算机科学系 专 业:计算机科学与技术 班 级:04级本(2)班 指导教 ...

  8. PX4模块设计之四:MAVLink简介

    PX4模块设计之四:MAVLink简介 1. MAVLink(PX4)应用简介 2. MAVLink v2.0新特性 3. MAVLink协议版本 4. MAVLink通信协议帧 4.1 MAVLin ...

  9. BetaFlight模块设计之三十五:RSSI信号强度链路稳定性分析

    BetaFlight模块设计之三十五:RSSI信号强度&链路稳定性分析 1. RSSI信号强度 1.1 RSSI Value 1.2 RSSI dBm Value 2. 链路稳定性 3. RS ...

  10. BetaFlight模块设计之二十六:接收机任务分析

    BetaFlight模块设计之二十六:接收机任务分析 接收机任务 配置情况 硬件配置 软件配置 驱动配置 sbus驱动函数分析 sbusDataReceive函数 sbusFrameStatus函数 ...

最新文章

  1. 通过apt自动生成建造者模式单线程版代码(三)
  2. 基于指令和混合的前端通用埋点方案
  3. [NPUCTF2020]你好sao啊
  4. MySQL事务以及加锁机制
  5. 数据库班级字段怎么定义名称_班级名称
  6. adb server is out of date. linux,adb server is out of date. killing完美解决
  7. ORACLE ebs 11.5.10 for linux 安装心得
  8. python安装包错误的问题
  9. freeMarker(四)——模板开发指南之模板
  10. 东静给排水CAD绘图辅助软件(LBJ2019)
  11. C语言教学模式 教学方法改革,C语言教学模式改革探究.docx
  12. linux提取声卡的codec教程,声卡Codec自动解析与ConfigData生成工具(Windows Version)
  13. Oracle -PL/SQL Developer错误解决方案(ORA-02291)
  14. 苹果手机iframe撑大父页解决办法
  15. OpenNLP进行自然语言处理
  16. 获取物料批次特性取值BAPI
  17. 杰理zHiUSB设备功能【篇】
  18. 汽车环境与耐久性测试
  19. 计算机组成位模式,Pentium的工作模式-计算机组成原理与汇编语言-电子发烧友网站...
  20. UEC++:UKismetMathLibrary::RandomPointInBoundingBox盒体内取随机坐标的方法

热门文章

  1. nginx—动静分离
  2. Pytorch学习——池化层
  3. 碰撞触发器Trigger
  4. MariaDB的官方手册译文
  5. js鼠标点击位置 弹出层由中心向四周缓慢扩大
  6. HDUOJ 5651 xiaoxin juju needs help
  7. 《纽约客》:还原真实的扎克伯格
  8. 华硕ac66php服务器,华硕路由RT-AC66U B1简单试用
  9. 印象笔记中可以使用html语言吗,印象笔记使用方法
  10. mysql 统计七日留存率_1.七日留存率-SQL实现