📄 encrypt.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 + -