openssl里面AES算法主要函数的参数的介绍
注意事项
- 使用API的时候,需要特别小心数据长度,一般没有指定长度的参数,默认都是16(
AES_BLOCK_SIZE
)个字节。输出数据的长度一般都是16字节的倍数,否则会出现数组越界访问。 - 以下API中,encrypt表示加密,decrypt表示解密。
生成加密/解密的key
int AES_set_encrypt_key(const unsigned char *userKey, const int bits,AES_KEY *key);
int AES_set_decrypt_key(const unsigned char *userKey, const int bits,AES_KEY *key);
参数说明
参数名称 | 描述 |
---|---|
userKey | 用户指定的密码。注意:只能是16、24、32字节。如果密码字符串长度不够,可以在字符串末尾追加一些特定的字符,或者重复密码字符串,直到满足最少的长度。 |
bits | 密码位数。即userKey的长度 * 8,只能是128、192、256位。 |
key | 向外输出参数。 |
使用AES加密解密key
void AES_encrypt(const unsigned char *in, unsigned char *out,const AES_KEY *key);
void AES_decrypt(const unsigned char *in, unsigned char *out,const AES_KEY *key);
参数说明
参数名称 | 描述 |
---|---|
in | 输入数据。必须是16字节。 |
out | 输出数据。必须是16字节。 |
key | 使用AES_set_encrypt/decrypt_key生成的Key。 |
- AES_encrypt/AES_decrypt一次只处理16个字节。如果输入数据较长,你需要使用循环语句,每16个字节处理一次,直到所有数据处理完毕。如果数据不足16字节,可以用0填充至16字节。
参考链接
- AES加解密
- openssl中加密的用法
openssl里面AES算法主要函数的参数的介绍相关推荐
- 使用openssl开源AES算法,实现aes、aes-cbc和aes-ecb对字符串的加解密
注意事项 对于用户输入的密码进行了md5运算,从而保证数据格式的统一性 内部调用的随机函数,参考我的其他博文 参考链接 头文件crypto_util.h #pragma once#include &l ...
- 实战篇-OpenSSL之AES加密算法-ECB模式
本文属于<OpenSSL加密算法库使用系列教程>之一,欢迎查看其它文章. 实战篇-OpenSSL之AES加密算法-ECB模式 一.AES简介 二.ECB模式 1.命令行操作 2.函数说明 ...
- 实战篇-OpenSSL之AES加密算法-CFB8模式
本文属于<OpenSSL加密算法库使用系列教程>之一,欢迎查看其它文章. 实战篇-OpenSSL之AES加密算法-CFB8模式 一.AES简介 二.CFB8模式 1.命令行操作 2.函数说 ...
- 实战篇-OpenSSL之AES加密算法-CFB128模式
本文属于<OpenSSL加密算法库使用系列教程>之一,欢迎查看其它文章. 实战篇-OpenSSL之AES加密算法-CFB128模式 一.AES简介 二.CFB128模式 1.命令行操作 2 ...
- 实战篇-OpenSSL之AES加密算法-CFB1模式
本文属于<OpenSSL加密算法库使用系列教程>之一,欢迎查看其它文章. 实战篇-OpenSSL之AES加密算法-CFB1模式 一.AES简介 二.CFB1模式 1.命令行操作 2.函数说 ...
- main函数带有参数
main函数的参数 前面介绍的main函数都是不带参数的.因此main 后的括号都是空括号.实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能 ...
- EKLAVYA -- 利用神经网络推断二进制文件中函数的参数
EKLAVYA – 利用神经网络推断二进制文件中函数的参数 文章目录 EKLAVYA -- 利用神经网络推断二进制文件中函数的参数 问题介绍以及形式化定义 方法设计 数据准备 实验结果 这一次介绍一篇 ...
- 基于国密SM3算法(openssl接口)密钥派生函数KDF的实现
前言 最近项目需要使用KDF生成秘钥,对比国密标准(GB_T 32918.4-2016)及网络资料,发现确实没有让我满意的, 自己结合标准和大佬:Heidlyn的帖子<国密SM2算法密钥派生函数 ...
- 函数传参数_算法笔记(7)第二章C、C++快速入门函数,main函数,
#includevoid change(int x){ x=x+1;}int main(){ int x=10; change(x); prinf("%d\n",x); retur ...
最新文章
- 再见了,公司的“烂系统”
- spring配置异步执行
- python用法查询笔记_Python学习笔记 - 2 - PyCharm的基本使用
- 一个切图仔的 CSS 笔记
- php如何导入数据,““php中如何将execl的数据导入到数据库中
- Leetcode--820:单词的压缩编码(java)
- 关于TestNg注解执行
- 红橙Darren视频笔记 IOC注解框架 了解xUtils3与ButterKnife的原理
- PHP运行模式的深入理解
- C++ 模板双向不循环链表!!
- 排序 --- 6.2 Merge Two Sorted Lists || 6.3 Merge k Sorted Lists --- 图解
- h5 img js 点击图片放大_jquery – HTML5 Canvas调整图像点击放大
- zemax操作例子_光学软件使用实例:从Zemax导入光学系统
- 微信公众开发 表情开发php,微信开发Emoji表情的实例教程
- 【数字IC验证快速入门】4、熟悉数字IC验证中常用的Linux基本操作
- 对于提高团队开会效率的看法
- 交直流调速系统matlab,MATLAB与交直流调速系统仿真.ppt
- 编译原理大作业-PL0语言编译器
- Hash 哈希 PTA 相关题目解析
- 关于在js中使用trim函数的一些小技巧
热门文章
- arcgis中的python字符串比较
- 【转】DICOM入门(一)——语法
- 【转】通过Graph 浏览器体验Microsoft Graph
- 【转】Dynamics CRM 365零基础入门学习(三)Dynamics 通过Web API 来调用自定义的Action(使用插件)
- Python3 基础学习笔记 C03【操作列表】
- PWN-PRACTICE-BUUCTF-20
- python嵩天第二版第五章_如何避免从入门到放弃——python小组学习复盘
- 【HDU - 6184】Counting Stars(三元环计数,二分,优化暴力,O(m*sqrt(m)),图论)
- 【牛客 - 370E】Rinne Loves Gift(Bellman_Ford判负环,二分,分数规划)
- pc服务器不同型号,服务器与PC系统软件之不同