FreeBSD下使用OpenSSL实现对称加密解密

作者:佚名 上传时间:2023-03-23 运行软件:C语言 软件版本:OpenSSL 1.1.1 版权申诉

本示例展示了在FreeBSD操作系统下使用OpenSSL库的Crypto接口进行对称加密解密的方法,采用AES算法和CBC模式,可用于保护数据的安全性。

#include <openssl/evp.h>
#include <openssl/aes.h>

int aes_encrypt(uint8_t *input_data, int input_len, uint8_t *key,
                uint8_t *iv, uint8_t *enc_data)
{
    EVP_CIPHER_CTX ctx;
    int len, enc_len;

    EVP_EncryptInit(&ctx, EVP_aes_256_cbc(), key, iv);
    EVP_EncryptUpdate(&ctx, enc_data, &len, input_data, input_len);
    enc_len = len;
    EVP_EncryptFinal(&ctx, enc_data + len, &len);
    enc_len += len;
    EVP_CIPHER_CTX_cleanup(&ctx);

    return enc_len;
}

int aes_decrypt(uint8_t *enc_data, int enc_len, uint8_t *key,
                uint8_t *iv, uint8_t *dec_data)
{
    EVP_CIPHER_CTX ctx;
    int len, dec_len;

    EVP_DecryptInit(&ctx, EVP_aes_256_cbc(), key, iv);
    EVP_DecryptUpdate(&ctx, dec_data, &len, enc_data, enc_len);
    dec_len = len;
    EVP_DecryptFinal(&ctx, dec_data + len, &len);
    dec_len += len;
    EVP_CIPHER_CTX_cleanup(&ctx);

    return dec_len;
}

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
FreeBSD使用OpenSSL实现对称加密解密
本示例展示了在FreeBSD操作系统下使用OpenSSL库的Crypto接口进行对称加密解密的方法,采用AES算法和CBC模式,可用于保护数据的安全性。#include <openssl/ev
OpenSSL 1.1.1
C语言
2023-03-23 03:07
FreeBSD使用OpenSSL实现TLS加密通信
本示例代码演示了如何在FreeBSD平台下使用OpenSSL库实现TLS加密通信,通过使用SSL_CTX结构体设置TLS版本及加密算法等参数,使用SSL_accept和SSL_connect函数实现服
OpenSSL 1.1.1
C/C++
2023-03-23 06:06
使用Python实现对称加密解密
本示例展示了使用Python中的cryptography库实现对称加密解密的过程。对称加密是指采用同一把密钥进行加解密,常用算法有AES、DES等。本示例使用AES算法,将明文加密后再解密出原文。f
cryptography 3.4.8
Python 3.9.6
2023-04-25 08:07
VC基于OpenSSL实现对称加密.rar
VC 文件对象加密实例,通过对OpenSSL对称密码算法函数的调用来实现,要用到两个控件:libeay32.dll和ssleay32.dll,可以对大文件进行加密,不过效率上还需进一步完善,因为对大文
RAR
2.84MB
2020-07-19 17:23
使用openssl实现rsa非对称加密算法示例
主要介绍了使用openssl实现rsa非对称加密算法的示例,大家参考使用吧
PDF
30KB
2020-10-28 01:51
对称加密解密
C#对称加密解密 StreamReader sd = new StreamReader(textBox1.Text); string srd = sd.ReadToEnd(); sd.Close();
RAR
47KB
2020-09-17 11:06
对称加密使用OpenSSL的Ruby项目的对称加密源码
对称加密 透明地加密ActiveRecord,Mongoid和MongoMapper属性。 加密配置文件中的密码。 加密整个静态文件。 介绍 任何想要满足PCI规范的项目都必须确保在飞行中和静止时对数
ZIP
167KB
2021-02-07 03:46
使用php openssl扩展实现对称加密
php的openssl扩展可对数据进行签名,也可对数据进行非对称加密。非对称加密使用私钥加密,公钥解密。 这里介绍openssl实现非对称加密 可使用linux自带的
openssl RSA加密解密
使用openssl 进行RSA加密解密,测试程序。
RAR
0B
2019-01-02 02:34
OpenSSL加密解密
Openssl头文件以及lib库文件用于VS2013,其他的vs版本未测试,下载的时候请务必看清楚,本人github上的md5,rsa加密解密,des加密解密用的是此版本,都是vs2013测试通过。
RAR
0B
2019-09-15 03:02