aes.h

来自「内详 请读者自行阅读本人第一次上载」· C头文件 代码 · 共 47 行

H
47
字号
//============================================================================
// 文件名: AES.h (c++)
// 作者    : 幽灵剑客
// 版本    : 20080213
// 地址    :http://blog.sina.com.cn/u/1216062855
// 描述    : AES的C++实现,只是对c版的简单封装,性能基本上一样。
//============================================================================

#ifndef AES_H_
#define AES_H_

/* 注:
 * 用宏实现的算法,本以为性能会有所提升,但最后测试发现,提升不大,体积到大了好
 * 几倍,不推荐用这个。注释掉就行了
 */

#define    len16    16
#define    len24    24
#define    len32    32

class AES
{
private:
    unsigned long* State;
    unsigned long* Word;
    int Nb,Nr;
public:
    AES();
    ~AES();

    int setMode(
        unsigned char* key,
        int     keySize,
        int     inSize,
        bool     isdecrypt);

    void cipher (
        const unsigned char* input,
              unsigned char* output);

    void invCipher(
        const unsigned char* input,
              unsigned char* output);
};

#endif /*AES_H_*/

⌨️ 快捷键说明

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