用过AES加密算法的进来看看

愤怒的泡面 2011-09-20 06:26:58
最近用上了AES加密算法,从crypto抠了AES的代码出来用,但发现达不到我预期的效果。无论原始数据长度是多少,加密后依然是16字节,解密正常,但也只能还原16个字节的长度,余下的就被截断了。以下是代码:


int main(void)
{
const int ENCRYPT_BIT = 128; //密钥采用128位强度
const int SOURCE_LEN = 32; //原始数据长度

//原始数据
const unsigned char source_data[SOURCE_LEN] = "12345689012345123456789012345";

//密钥(这里是16字节,128 / 8 = 16)
unsigned char cipher_key[ENCRYPT_BIT / 8] = "g1hfg1n21bvh1";

//设置密钥
AES_KEY key;
aes_set_encrypt_key(cipher_key, ENCRYPT_BIT, &key);

//加密
unsigned char cipher_text[SOURCE_LEN];
memset((void*)cipher_text, 0, SOURCE_LEN);
aes_encrypt((const unsigned char *)source_data, cipher_text, &key);

printf("%s:%d\n", cipher_text, strlen((char*)cipher_text));


//以下是解密过程
cout << "解密:" << endl;

unsigned char plain_text[SOURCE_LEN];
memset((void*)plain_text, 0, SOURCE_LEN);
aes_set_decrypt_key(cipher_key, ENCRYPT_BIT, &key);
aes_decrypt(cipher_text, plain_text, &key);

cout << plain_text << endl;
system("pause");
return 0;
}


求大侠们解决一下这个问题,纠结一个下午了,感激不尽 T T
...全文
252 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fandh 2011-09-21
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/fandh/1118204
我以前做的,看看是否对你有帮助!
用户 昵称 2011-09-21
  • 打赏
  • 举报
回复
将输入数据分成若干个16字节的数据段,每段单独加密叫ecb加密,前后串联加密叫cbc加密。

不会把如何使用都给你封装好的。
罗平 2011-09-20
  • 打赏
  • 举报
回复
长字符串,各分割为16字节的子串加密,密文结果再相加,解密亦同。

如果是中文加密,则扩展为32字节。每个字符4个字节。

我是这么做的。
xyalter 2011-09-20
  • 打赏
  • 举报
回复
具体可以参考
http://blog.csdn.net/lixiaomin_235/article/details/3637977
xyalter 2011-09-20
  • 打赏
  • 举报
回复
while (sourceLen > destLen)
{
sourceFile.Read(m_from,m_len);
// Encrypt
AES_encrypt(m_from,m_to,&m_key);
destFile.Write(m_to,m_len);

// Update
destLen = destFile.GetLength();
sourceOff += m_len;
destOff += m_len;

// Move the point to current pos
sourceFile.Seek(sourceOff,CFile::begin);
destFile.Seek(destOff,CFile::begin);
}
xyalter 2011-09-20
  • 打赏
  • 举报
回复
aes_encrypt只是区块加密函数
你必须自己实现分块
愤怒的泡面 2011-09-20
  • 打赏
  • 举报
回复
顶起。。。
ljn398431 2011-09-20
  • 打赏
  • 举报
回复
学习学习 帮顶下

19,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧