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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

你可能感兴趣的:(红孩儿编辑器开发)