⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encrypt.h

📁 IDEA加密算法
💻 H
字号:
/**
 * 文件描述:此文件是对专利单机版中调用加密、解密模块接口的实现
 * 作者:    吴栋
 * 起止日期:2003年5月1日至2003年5月2日
 */

#pragma once
#include "IDEA.h"
#include "IZEncrypt.h"

/**
 * 模块名:     CEncrypt
 * 说明:       该模块是对调用加密、解密接口的具体实现
 * 创建日期:   2003年5月3日
 * 调用模块:   CIDEA IZEncrypt
 * 被调用模块 :(暂缺)
 */

class CEncrypt :
	public  CIDEA , public IZEncrypt
{
protected:
	/**
	 * 函数名:ReadBlock
	 * 参数:
	 *	pwBlockBuf 指向一组数据块的指针
	 *  bEncrypt   指出是对数据块加密还是解密,若为true,则是加密;若为false,则是解密
	 *  wBlockSize 指示读入数据块的字节数,默认值为8
	 * 返回值:无
	 * 说明:  读入一组数据块
	 */
	void ReadBlock ( WORD * pwBlockBuf , bool bEncrypt , DWORD wBlockSize = BLOCKSIZE * sizeof ( WORD ) ) ;

	/**
	 * 函数名:WriteBlock
	 * 参数:
	 *	pwBlockBuf 指向一组数据块的指针
	 *  bEncrypt   指出是对数据块加密还是解密,若为true,则是加密;若为false,则是解密
	 * 返回值:无
	 * 说明:  写出一组数据块
	 */
	void WriteBlock ( WORD * pwBlockBuf , bool bEncrypt ) ;

public:
	/**
	 * 函数名:AllocMemory
     * 参数:  dwSize 指定的内存大小
     * 返回值:为 NULL 则分配内存失败,否则为指向已分配的内存的指针,
     * 说明:  AllocMemory 分配指定大小的内存,该内存必须由 FreeMemory 方法释放
     */
    virtual PVOID AllocMemory ( DWORD dwSize ) ;
	
	/**
	 * 函数名:Dencrypt
	 * 参数 :
     *   pEcrptBuf 已加密的内存块
     *	 dwEncrptBufSize 已加密的内存块的大小
     *   ppRowBuf 解密后的内存块,该内存由 AllocMemory 方法分配,必须用 FreeMemory 方法释放
     *   pdwRowBufSize 返回解密后的内存块的大小
     * 返回值:返回 S_OK 表示成功;返回 E_OUTOFMEMORY 表示分配解密内存块失败;返回 S_FALSE 表示解密失败
	 * 说明:  解密指定的内存块
	 * 注:    一次解密的密文大小必须是8的倍数,否则解密失败
     */
    virtual HRESULT Dencrypt ( PVOID pEncryptBuf , DWORD dwEncryptBufSize , PVOID * ppRowBuf , DWORD * pdwRowBufSize) ;
	
	/**
	 * 函数名:Encrypt
	 * 参数 :
     *   pRowBuf 要加密的内存块
     *   dwRowBufSize 指出 pRowBuf 的大小,单位为 byte
     *   ppEcrptBuf 已加密的内存块,该内存由 AllocMemory 方法分配,必须用 FreeMemory 方法释放
     *   pdwEncrptBufSize 返回已加密内存块的大小,单位为 byte
     * 返回值:返回 S_OK 表示成功;返回 E_OUTOFMEMORY 表示分配加密内存块失败
	 * 说明: 加密指定的内存块
     */
    virtual HRESULT Encrypt ( PVOID pRowBuf , DWORD dwRowBufSize , PVOID * ppEncryptBuf , DWORD * pdwEncryptBufSize) ;
	
	/**
	 * 函数名:FreeMemory
     * 参数:  ppBuf 指向要释放的内存指针的指针
     * 返回值:无
	 * 说明:  FreeMemory 释放由 AllocMemory 分配的内存
     */
    virtual void FreeMemory ( PVOID * ppBuf) ;

	CEncrypt(void);
	
	~CEncrypt(void);
};
//#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -