实现基于IDEA算法的加密工具(7)

3/23/2008来源:软件工程人气:5940



3.6 加密工具的实现

利用算法核心代码封装的接口函数笔者编写了一个加密工具, IDEA算法是对固定大小(64位)的数据块进行加密解密操作的,对于那些不够64位的数据块需要采用填充机制补位到64位长,为了方便使用,数据位的填充是对用户而言是透明的,利用该工具进行加密解密操作时,用户只需输入操作的类型、读取数据的文件名、写入操作结果的文件名、密钥等信息.

操作思路:

#define READFILESIZE 512

步骤:

以二进制的形式从文件中读取READFILESIZE个字节的数据


,假如从文件中读出的数据少于READFILESIZE个,以0补足,然后根据用户指定的类型对这READFILESIZE个字节的数据进行操作.


判定文件是否结束,假如还没有介绍则返回执行步骤1


把加密后的文件实际长度和读出数据的文件名加密后添加到密文的末尾


结束

采用一次只从文件读取READFILESIZE个字节是在为了防止由于需要加密或解密的文件太大导致内存不够的情况出现.

使用该程序加密文件,用户不必记住加密前文件的类型,程序会在解密时自动将密文恢复成原文件的类型和长度.