栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用EVP与算法API进行对称加密的OpenSSL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用EVP与算法API进行对称加密的OpenSSL

使用EVP
API的优点是,您可以以通用方式对OpenSSL支持的所有对称密码使用相同的API。这样可以更轻松地替换所使用的算法,或者在以后的阶段使用户可配置该算法。您编写的大多数代码都不特定于所选的加密算法。

这是在CBC模式下使用AES-256加密的简单示例:

#include <stdio.h>#include <openssl/evp.h>int main(){    EVP_CIPHER_CTX ctx;    unsigned char key[32] = {0};    unsigned char iv[16] = {0};    unsigned char in[16] = {0};    unsigned char out[32];     int outlen1, outlen2;    EVP_EncryptInit(&ctx, EVP_aes_256_cbc(), key, iv);    EVP_EncryptUpdate(&ctx, out, &outlen1, in, sizeof(in));    EVP_EncryptFinal(&ctx, out + outlen1, &outlen2);    printf("ciphertext length: %dn", outlen1 + outlen2);    return 0;}

为简单起见,我省略了错误处理。

IMO关于OpenSSL的最重要的文档之一是Viega / Messier / Chandra撰写的Network Security with
OpenSSL
。它是从2002年(0.9.7)起发布的,因此不涉及最近10年内对OpenSSL的更改,但是与仅使用手册页相比,IMO仍然是学习OpenSSL的一种更轻松的方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403257.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号