aes_128加密算法
unsigned char content[400]; unsigned char key[] = "123456789"; unsigned char en[400],de[400],base64[400], base64_out[400]; int len; memset(content, 0,400); memset(en, 0, 400); memset(de, 0, 400); memset(base64, 0,400); memset(base64_out, 0, 400); strcpy((char *)content, "whosyourdaddy!"); printf("%d %s\n", strlen((const char*)content), content); encrypt(content,strlen((const char*)content), en, &len, key); int encode_str_size = EVP_EncodeBlock(base64, en, len); printf("%d %s\n", encode_str_size, base64); int length = EVP_DecodeBlock(base64_out, base64, strlen((const char*)base64)); //EVP_DecodeBlock内部同样调用EVP_DecodeInit + EVP_DecodeUpdate + Evp_DecodeFinal实现,但是并未处理尾部的'='字符,因此结果字符串长度总是为3的倍数 while(base64[--encode_str_size] == '=') length--; decrypt(base64_out, length, de, key); printf("%d %s\n", strlen((const char*)de), de);
- 1
- 2
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助