openssl AES加密


此代码不涉及ECB和CBC等关联加密


#include <stdio.h>  
#include <string.h>  
#include <stdlib.h> 

#include <openssl/aes.h>

#include <openssl/applink.c>  
#pragma comment(lib, "libeay32.lib")  
#pragma comment(lib, "ssleay32.lib") 

int main ()
{
	//aes是块加密,每块16Byte(128bit)
	char input[] = "0000000000000000";
	unsigned char output[256];
	unsigned  char decode[64];
	//密钥,长度可选3种128bit,192bit,256bit,不管密钥长度多长加密出来的结果都是128bit
	//这里用的是128bit的密钥长度
	char userKey[]="1234567890123456";
	AES_KEY key;

	AES_set_encrypt_key((unsigned char*)userKey, 128, &key);//构造加密密钥

	AES_encrypt((unsigned char *)input, output, &key);

	//30303030303030303030303030303030 加密结果: 93bc0fabf6c85e9e1c53d78885373dc7
	
	AES_encrypt((unsigned char *)input,output,&key);

	AES_set_decrypt_key((unsigned char*)userKey, 128, &key);//构造解密密钥
	AES_decrypt(output,decode,&key);

	return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值