博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【信息安全】aes-cbc算法
阅读量:2355 次
发布时间:2019-05-10

本文共 940 字,大约阅读时间需要 3 分钟。

  • 这里面所有的过程都是必要的,包括AES_set_decrypt_key(key, 16*8, &k); // MUST as enc,这个要分别对加密和解密密钥进行设置。
// daes.cpp : 定义控制台应用程序的入口点。#include 
#include "openssl/aes.h"main(){
unsigned char key[16+1] = "my-key-i-choosed"; // 128bits key (应该是真正的随机数才好) char pt1[16+5+1] = "0123456789abcdef12345"; // 明文 char ct[16+5+1]; // 密文 char pt2[16+5+1]; // 解密后的明文 AES_KEY k; unsigned char iv1[16+1] = {
"1023456789abcdef"}; // 16+1,加密用 unsigned char iv2[16+1] = {
"1023456789abcdef"}; // 16+1,解密用 {
// cbc mode (stream mode) int num=0; AES_set_encrypt_key(key, 16*8, &k); AES_cbc_encrypt((unsigned char*)pt1, (unsigned char*)ct, 16+5, &k, (unsigned char*)iv1, AES_ENCRYPT); num=0; AES_set_decrypt_key(key, 16*8, &k); // MUST as enc AES_cbc_encrypt((unsigned char*)ct, (unsigned char*)pt2, 16+5, &k, (unsigned char*)iv2, AES_DECRYPT); if (memcmp(pt1, pt2, 16+5)==0) puts("AES CBC mode ok"); else puts("AES CBC mode err"); } return 0;}

转载地址:http://jzbtb.baihongyu.com/

你可能感兴趣的文章
PHP类中的抽象类,抽象方法,abstract
查看>>
PHP接口类interface的正确使用方法
查看>>
Sencha Touch之Hello World
查看>>
Tab Layout 之单个Activity实现
查看>>
Tab Layout 之多个Activity实现
查看>>
FrameLayout之我见
查看>>
个人解读Activity之一
查看>>
实现自定义布局的Notification
查看>>
AlarmManager的学习与实现
查看>>
解读Content Provider之一
查看>>
解读Content Provider之二
查看>>
自定义UI实例
查看>>
推荐一个不错的自定义UI
查看>>
fedora16 设置 gedit软件的默认编码
查看>>
S3C6410 存储器映射
查看>>
Linux 3.3.0移植到S3C6410开发板上之一
查看>>
Busybox支持中文的解决办法
查看>>
Spring中BeanFactory和FactoryBean有什么区别?
查看>>
牛年(2021)的KPI
查看>>
快速识别图片类型
查看>>