aes_cbc.h

来自「由7-zip提供的压缩、解压缩程序」· C头文件 代码 · 共 40 行

H
40
字号
// AES_CBC.h#ifndef __AES_CBC_H#define __AES_CBC_H#include "aescpp.h"class CAES_CBC: public AESclass{protected:  Byte _prevBlock[16];public:  void Init(const Byte *iv)  {    for (int i = 0; i < 16; i++)      _prevBlock[i] = iv[i];  }  void Encode(const Byte *inBlock, Byte *outBlock)  {    int i;    for (i = 0; i < 16; i++)      _prevBlock[i] ^= inBlock[i];    enc_blk(_prevBlock, outBlock);    for (i = 0; i < 16; i++)      _prevBlock[i] = outBlock[i];  }  void Decode(const Byte *inBlock, Byte *outBlock)  {    dec_blk(inBlock, outBlock);    int i;    for (i = 0; i < 16; i++)      outBlock[i] ^= _prevBlock[i];    for (i = 0; i < 16; i++)      _prevBlock[i] = inBlock[i];  }};#endif

⌨️ 快捷键说明

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