当前位置: 首页 > news >正文

79 Openssl3.0 RSA公钥加密数据

1 引言

        最近不小心用到了openssl3.0,项目中需要使用rsa非对称加解密算法,所以把openssl3.0使用公钥加密数据的函数调用摸了一遍。

        之所以记录此篇文章,是因为网络上大多数是openssl3.0以前的版本的函数接口,而openssl3.0之后已经丢弃了很多旧接口了,导致我网上搜索例程的时候,不是很顺利(看到的基本都是旧接口不能用),因此特此记录。

2 实验

        废话少说,直接上代码:

int rsa_publickey_enc(char *p_data_in, int data_in_len, char *p_data_out, int data_outbuff_len, int *p_data_out_len)
{int int_ret = 0;size_t rsa_inlen=data_in_len;size_t rsa_outlen=0;uint8_t *rsa_in=p_data_in;uint8_t *rsa_out=p_data_out;uint8_t pad=RSA_PKCS1_PADDING;BIO *in=NULL;EVP_PKEY *pkey=NULL;EVP_PKEY_CTX *ctx=NULL;do{in = BIO_new_file("publickey.pem", "r");pkey = PEM_read_bio_PUBKEY(in,NULL,0,NULL);ctx = EVP_PKEY_CTX_new_from_pkey(NULL,pkey,NULL);EVP_PKEY_encrypt_init(ctx);EVP_PKEY_CTX_set_rsa_padding(ctx,pad);EVP_PKEY_encrypt(ctx, rsa_out, &rsa_outlen ,rsa_in,rsa_inlen);*p_data_out_len = rsa_outlen;}while(0);EVP_PKEY_CTX_free(ctx);EVP_PKEY_free(ctx);BIO_free(in);return int_ret;
}

至于上述代码返回值得判断啥的,我就没有判断了(注意:实际使用时请按编码规范编程)。

以上,over!

相关文章:

79 Openssl3.0 RSA公钥加密数据

1 引言 最近不小心用到了openssl3.0,项目中需要使用rsa非对称加解密算法,所以把openssl3.0使用公钥加密数据的函数调用摸了一遍。 之所以记录此篇文章,是因为网络上大多数是openssl3.0以前的版本的函数接口,而openssl3.0之后已经丢…...

EFCore HasDefaultValueSql (续2 HasComputedColumnSql)

前情:EFCore HasDefaultValueSql EFCore HasDefaultValueSql (续1 ValueGeneratedOnAdd)-CSDN博客 小伙伴在使用 HasDefaultValueSql 时,对相关的 ValueGeneratedOnAdd, HasComputedColumnSql 也有了疑问: HasComputedColumnSql 对于计算…...

阿里巴巴TransmittableThreadLocal使用指南

前言 ThreadLocal在上下文的数据传输上非常的方便和简洁。工业实践中,比较常用的有三个,ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal,那么他们三个之间有什么区别呢? 常见的三种ThreadLocal比较 ThreadLoc…...

ubuntu20下编译linux1.0 (part1)

author: hjjdebug date: 2025年 01月 09日 星期四 15:56:15 CST description: ubuntu20下编译linux1.0 (part1) 该博客记录了新gcc编译旧代码可能碰到的问题和解决办法, 可留作参考 操作环境: ubuntu20 $ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 $ as --vers…...

欧拉公式和傅里叶变换

注:英文引文机翻,未校。 中文引文未整理去重,如有异常,请看原文。 Euler’s Formula and Fourier Transform Posted byczxttkl October 7, 2018 Euler’s formula states that e i x cos ⁡ x i sin ⁡ x e^{ix} \cos{x} i …...

Jenkins内修改allure报告名称

背景: 最近使用Jenkins搭建自动化测试环境时,使用Jenkins的allure插件生成的报告,一直显示默认ALLURE REPORT,想自定义成与项目关联的名称,如图所示,很明显自定义名称显得高大上些,之前…...

30天开发操作系统 第 12 天 -- 定时器 v1.0

前言 定时器(Timer)对于操作系统非常重要。它在原理上却很简单,只是每隔一段时间(比如0.01秒)就发送一个中断信号给CPU。幸亏有了定时器,CPU才不用辛苦地去计量时间。……如果没有定时器会怎么样呢?让我们想象一下吧。 假如CPU看不到定时器而仍想计量时…...

Ubuntu | PostgreSQL | 解决 ERROR: `xmllint` is missing on your system.

解决 sudo apt install apt-file sudo apt-file updatesudo apt-file search xmllint sudo apt install libxml2-utils执行 # postgres源码安装包解压文件夹中 make install make install问题 make -C src install make[2]: Entering directory /home/postgres/postgresql-1…...

uniapp使用chooseLocation安卓篇

本文章全部以高德地图为例 代码 <view class"bottom"><button click"choose">定位</button> </view> choose() {uni.chooseLocation({success: function(res) {console.log(位置名称&#xff1a; res.name);console.log(详细地…...

《PC 上的开源神经网络多模态模型:开启智能交互新时代》

《PC 上的开源神经网络多模态模型&#xff1a;开启智能交互新时代》 一、引言二、多模态模型基础剖析&#xff08;一&#xff09;核心概念解读&#xff08;二&#xff09;技术架构探秘 三、开源多模态模型的独特魅力&#xff08;一&#xff09;开源优势尽显&#xff08;二&…...

Apache JMeter 压力测试使用说明

文章目录 一、 安装步骤步骤一 下载相关的包步骤二 安装 Jmeter步骤三 设置 Jmeter 工具语言类型为中文 二、使用工具2.1 创建测试任务步骤一 创建线程组步骤二 创建 HTTP 请求 2.2 配置 HTTP 默认参数添加 HTTP消息头管理器HTTP请求默认值 2.3 添加 查看结果监听器2.4 查看结果…...

腾讯云AI代码助手编程挑战赛-知识百科AI

作品简介 知识百科AI这一编程主要用于对于小朋友的探索力的开发&#xff0c;让小朋友在一开始就对学习具有探索精神。在信息化时代下&#xff0c;会主动去学习自己认知以外的知识&#xff0c;同时丰富了眼界&#xff0c;开拓了新的知识。同时催生了在大数据时代下的信息共享化…...

【SpringAOP】Spring AOP 底层逻辑:切点表达式与原理简明阐述

前言 &#x1f31f;&#x1f31f;本期讲解关于spring aop的切面表达式和自身实现原理介绍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &am…...

HTTP-响应协议

HTTP的响应过程&#xff1f; 浏览器请求数据--》web服务器过程&#xff1a;请求过程 web服务器将响应数据-》到浏览器&#xff1a;响应过程 响应数据有哪些内容&#xff1f; 1.和请求数据类似。 2. 响应体中存储着web服务器返回给浏览器的响应数据。并且注意响应头和响应体之间…...

SQL进阶实战技巧:即时订单比例问题

目录 0 需求描述 1 数据准备 2 问题分析 3 小结 往期精彩 0 需求描述 订单配送中,如果期望配送日期和下单日期相同,称为即时订单,如果期望配送日期和下单日期不同,称为计划订单。 请从配送信息表(delivery_info)中求出每个用户的首单(用户的第一个订单)中即时订单…...

什么是端口

端口是用来区分同一网络设备(IP地址)上运行的不同服务或应用程序接收外部数据的窗口。 以下是几个要点&#xff1a; 对于我们发送请求指定的url中的端口&#xff0c;指的是对方服务器的用于接收数据的端口&#xff0c;如http的80端口&#xff0c;服务器通常都会设定要监听来自…...

【Flutter】使用ScrollController配合EasyRefresh实现列表预加载:在还未滑动到底部时加载下一页数据

需求/背景 在我们的业务场景中&#xff0c;列表的加载使用easy_refresh组件&#xff1a; https://pub.dev/packages/easy_refresh 大概效果是往上滑动到一定的offset会触发一个上滑加载&#xff0c;可以触发一些网络请求拉取列表后面的数据来展示。 这种模式一般在一页翻完…...

【2025 Rust学习 --- 11 实用工具特型01】

清理特型Drop 当一个值的拥有者消失时&#xff0c;Rust 会丢弃&#xff08;drop&#xff09;该值。丢弃一个值就必须释放 该值拥有的任何其他值、堆存储和系统资源。 丢弃可能发生在多种情况下&#xff1a; 当变量超出作用域时&#xff1b;在表达式语句的末尾&#xff1b;当…...

网络安全基础以及概念

1. 安全领域的概念 1.1 网络产品 1. EDR:终端检测与响应(Endpoint Detection and Response),终端主要包括我们的笔记本、台式机、手机、服务器等,EDR是一种运行在终端上安全软件,主要负责监控网络流量、可疑进程、注册表活动等其他安全相关的事件与活动。当发现有威胁是自…...

windows和linux的抓包方式

1.实验准备&#xff1a; 一台windows主机&#xff0c;一台linux主机 wireshark使用&#xff1a; 打开wireshark&#xff0c;这些有波动的就代表可以有流量经过该网卡&#xff0c;选择一张有流量经过的网卡 可以看到很多的流量&#xff0c;然后可以使用过滤器来过滤想要的流量…...

可能是综合性能最强的PCIe 5.0 SSD!铠侠EXCERIA PRO G2 2TB评测:AIDA64线性写入全程不掉速

一、前言&#xff1a;铠侠首款旗舰级PCIe 5.0 SSD 可能很多读者会疑惑&#xff0c;作为存储领域的一线巨头&#xff0c;在PCIe 5.0时代&#xff0c;为什么铠侠迟迟没有推出旗舰级SSD产品&#xff01; 这主要是因为&#xff0c;早期的PCIe 5.0 SSD主控功耗极高(超过10W)&#xf…...

SEO_影响搜索引擎排名的关键SEO因素分析

SEO&#xff1a;影响搜索引擎排名的关键SEO因素分析 在当今信息爆炸的时代&#xff0c;网站的流量和曝光度直接决定了一个品牌的市场竞争力。搜索引擎优化&#xff08;SEO&#xff09;是提升网站在搜索结果中排名的重要手段。本文将从多个角度分析影响搜索引擎排名的关键SEO因…...

3大突破让实时翻译不再阻碍跨语言体验

3大突破让实时翻译不再阻碍跨语言体验 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 在全球化浪潮下&#xff0c;语言障碍…...

如何用3步永久保存QQ空间回忆?GetQzonehistory全攻略

如何用3步永久保存QQ空间回忆&#xff1f;GetQzonehistory全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心过QQ空间里那些承载青春记忆的说说会突然消失&#xff1f;Ge…...

新手入门实战:通过快马平台为博客系统扩展文章搜索功能

今天想和大家分享一个特别适合新手练手的实战项目——给个人博客系统扩展文章搜索功能。作为一个刚入门开发不久的小白&#xff0c;我最近在InsCode(快马)平台上完成了这个功能扩展&#xff0c;整个过程既学到了东西&#xff0c;又特别有成就感。 功能需求分析 首先需要明确我们…...

无需参考图像的低光照增强:PairLIE论文中的双输入训练策略详解

无需参考图像的低光照增强&#xff1a;PairLIE论文中的双输入训练策略详解 在移动摄影和安防监控等领域&#xff0c;低光照环境下的图像质量提升一直是计算机视觉研究的重点难点。传统低光照增强方法通常依赖于高质量参考图像进行监督学习&#xff0c;这不仅数据采集成本高昂&a…...

Agentic SOC 全阶成长指南:从零到专家,拿下AI安全运营的黄金赛道

2026年RSAC全球网络安全大会落下帷幕&#xff0c;一个行业共识已经不可逆地形成&#xff1a;Agentic SOC&#xff0c;已经从概念验证阶段&#xff0c;正式成为全球企业安全运营的核心标配。 Gartner最新数据显示&#xff0c;2026年全球Agentic SOC相关市场规模突破127亿美元&am…...

Qwen3-0.6B-FP8轻量化部署对比:FP8量化带来的显存与速度优势实测

Qwen3-0.6B-FP8轻量化部署对比&#xff1a;FP8量化带来的显存与速度优势实测 最近在折腾一些小模型的部署&#xff0c;发现了一个挺有意思的东西&#xff1a;Qwen3-0.6B的FP8量化版本。你可能听说过FP16&#xff0c;甚至INT8量化&#xff0c;但FP8这个新玩意儿&#xff0c;到底…...

突破网盘下载瓶颈:八大平台直链获取工具的全方位指南

突破网盘下载瓶颈&#xff1a;八大平台直链获取工具的全方位指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

前有张雪峰,后有张雪——这难道是天意-他们的成功最大的特点就是把事情做到极致,你只要坚持,就可能会成功!-你不坚持,不热爱,不可能会成功!-为什么摩托车发动机可以弯道超车,汽车不可以?到底中国汽车的发

前有张雪峰,后有张雪——这难道是天意-他们的成功最大的特点就是把事情做到极致,你只要坚持,就可能会成功!-你不坚持,不热爱,不可能会成功!-为什么摩托车发动机可以弯道超车,汽车不可以?到底中国汽车的发动机质量如何? 前有张雪峰,后有张雪——这难道是天意-他们的成…...