-
20091025版本的AES加密算法C++源代码
资源介绍
AES类的三个公共函数
//设置AES类的模式为加密还是解密,并说明密钥长度和明文长度(解密时为密文)
//key 密钥数据
//keySize 密钥长度
//inSize 明文长度(解密时为密文)
//isdecrypt 是否为解密(解密时为TRUE)
//成功返回1 失败返回-1 失败是由于参数设置不正确引起
int setMode(unsigned char* key, int keySize, int inSize, bool isdecrypt);
//加密数据
//input 明文数据,长度为setMode时inSize指定
//ouput 加密后的数据,长度为setMode时inSize指定
void cipher (const unsigned char* input, unsigned char* output);
//解密数据
//input 密文数据,长度为setMode时inSize指定
//output 明文数据,长度为setMode时inSize指定
void invCipher(const unsigned char* input, unsigned char* output);
//例子
#include "aes.h"
#include
void main()
{
char* str = "0123456789abcdef"; //被加密的数据16字节
char* pwd = "1111111111111111"; //密码16字节
char out[17]; //输出缓存
out[16]='\0';
AES aes;
/*加密时*/
aes.setMode(pwd, 16, 16, FALSE);
aes.cipher(str, out);
printf(out); //输出加密数据
printf("\n");
/*解密时*/
aes.setMode(pwd, 16, 16, TRUE);
aes.invCipher(out, out);
printf(out);
}
本文来自****博客,转载请标明出处:http://blog.****.net/scofield_zhang/archive/2008/07/21/2687037.aspx
- 上一篇: delphi AES 加密算法
- 下一篇: 利用C\C++实现AES算法的加、解密运算