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

📄 rijndael.hpp

📁 source code for unrar3.3.4,uppack the .rar files,for multi-os
💻 HPP
字号:
#ifndef _RIJNDAEL_H_#define _RIJNDAEL_H_/************************************************************************** * This code is based on Szymon Stefanek AES implementation:              * * http://www.esat.kuleuven.ac.be/~rijmen/rijndael/rijndael-cpplib.tar.gz * *                                                                        * * Dynamic tables generation is based on the Brian Gladman's work:        * * http://fp.gladman.plus.com/cryptography_technology/rijndael            * **************************************************************************/#define _MAX_KEY_COLUMNS (256/32)#define _MAX_ROUNDS      14#define MAX_IV_SIZE      16class Rijndael{	  public:    enum Direction { Encrypt , Decrypt };  private:    void keySched(byte key[_MAX_KEY_COLUMNS][4]);    void keyEncToDec();    void encrypt(const byte a[16], byte b[16]);    void decrypt(const byte a[16], byte b[16]);    void GenerateTables();    Direction m_direction;    byte     m_initVector[MAX_IV_SIZE];    byte     m_expandedKey[_MAX_ROUNDS+1][4][4];  public:    Rijndael();    void init(Direction dir,const byte *key,byte *initVector);    int blockEncrypt(const byte *input, int inputLen, byte *outBuffer);    int blockDecrypt(const byte *input, int inputLen, byte *outBuffer);};	#endif // _RIJNDAEL_H_

⌨️ 快捷键说明

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