接口加密

news/2025/12/4 3:01:46/文章来源:https://www.cnblogs.com/ajing2018/p/19304617

接口加密

一、业务场景介绍

数据安全性 - 抓包工具

 image

 系统明文传输的数据会被不明身份的人用抓包工具抓取,从而威胁系统和数据的安全性。

二、加密方式

1. 摘要算法

 消息摘要是把任意长度的输入揉和而产生长度固定的信息。

 消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。消息 摘要算法不存在密钥的管理与分发问题,适合于分布式网络上使用。

 消息摘要的主要特点有:

  • 无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。
  • 消息摘要看起来是“随机的”。这些数据看上去是胡乱的杂凑在一起的。
  • 只要输入的消息不同,对其进行摘要后产生的摘要消息也必不相同;但相同的输入必会产生相同的输出。
  • 只能进行正向的消息摘要,而无法从摘要中恢复出任何消息,甚至根本就找不到任何与原信息相关的信息。
  • 虽然“碰撞”是肯定存在的,但好的摘要算法很难能从中找到“碰撞”。即无法找到两条不同消息,但是它们的摘要相同。

 常见的摘要算法:CRC、MD5、SHA等

2. 对称加密

 加密和解密使用相同密钥的加密算法。

 对称加密的特点:

  • 速度快,通常在消息发送方需要加密大量数据时使用。
  • 密钥是控制加密及解密过程的指令。
  • 算法是一组规则,规定如何进行加密和解密。   

 典型应用场景:离线的大量数据加密(用于存储的

 常用的加密算法:DES、3DES、AES、TDEA、Blowfish、RC2、RC4、RC5、 IDEA、SKIPJACK等。

 对称加密的工作过程如下图所示

  image

 加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。如何把密钥安全地传递到解密者手上就成了必须要解决的问题。 

3. 非对称加密

 非对称加密算法是一种密钥的保密方法,加密和解密使用两个不同的密钥,公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。

 非对称加密算法的特点:

  • 算法强度复杂
  • 加密解密速度没有对称密钥算法的速度快

 经典应用场景:数字签名(私钥加密,公钥验证)

 常用的算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。

 非对称加密算法示意图如下

  image

4. 数字签名

 数字签名(又称公钥数字签名)是一种类似写在纸上的普通的物理签名,是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。

 数字签名通常使用私钥生成签名,使用公钥验证签名。

 签名及验证过程:

  1. 发送方用一个哈希函数(例如MD5)从报文文本中生成报文摘要,然后用自己的 私钥对这个摘要进行加密

  2. 将加密后的摘要作为报文的数字签名和报文一起发送给接收方

  3. 接收方用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要

  4. 接收方再用发送方的公用密钥来对报文附加的数字签名进行解密

  5. 如果这两个摘要相同、接收方就能确认该数字签名是发送方的。

 image

 数字签名验证的两个作用:

  • 确定消息确实是由发送方签名并发出来的
  • 确定消息的完整性 

三、OpenSSL生成rsa密钥对

1. RSA算法的密钥格式

 密钥长度介于 512 - 65536 之间(JDK 中默认长度是1024),且必须是64 的倍数。密钥的常用文件格式有pem(文本存储)或者der(二进制存储)。

 当使用Java API生成RSA密钥对时,公钥以X.509格式编码,私钥以PKCS#8格式编码RSA使用pkcs协议定义密钥的存储结构等内容

  image

 pkcs标准详细说明:https://www.rfc-editor.org/search/rfc_search_detail.ph p?title=pkcs&pubstatus%5B%5D=Any&pub_date_type=any

 RSA官方网站:https://www.rsa.com

2. openssl生成rsa密钥对的命令

 2.1 生成rsa私钥,文本存储格式,长度2048

openssl genrsa -out ../mycerts/rsa_private_key.pem 2048

  image

 2.2 根据私钥生成对应的公钥 

openssl rsa -in ../mycerts/rsa_private_key.pem -pubout -out ../mycerts/rsa_public_key_2048.pub 

  image

 2.3 私钥转化成pkcs8格式 

openssl pkcs8 -topk8 -inform PEM -in ../mycerts/rsa_private_key.pem - outform PEM -nocrypt > ../mycerts/rsa_private_key_pkcs8.pem 

  image

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/986218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

订单服务(Ordering.API)之领域层

前言 领域层(Ordering.Domain) 1.领域层职责职责 说明 示例1️⃣ 表达领域模型 通过实体(Entity)、值对象(Value Object)建模业务对象及其行为。 Order、OrderItem、Address2️⃣ 封装业务规则 在模型中定义业务不…

订单服务(Ordering.API)之应用层

前言 应用层(Ordering.API) 1.应用层职责职责 说明1️⃣ 编排业务流程(流程协调者) 调用多个领域对象(聚合根、领域服务),协调它们完成一个完整的用例。例如:下单时,依次校验库存、计算价格、保存订单、发布领域…

订单服务(Ordering.API)之基础设施层

前言 基础设施层(Ordering.Infrastructure) 1.基础设施层职责职责类型 说明1️⃣ 持久化实现(Repository 实现) 实现领域层定义的仓储接口(IOrderRepository、IBuyerRepository等),与数据库交互(通常使用 ORM,如…

订单服务(Ordering.API)之表现层

前言 表现层(Ordering.API) 1.表现层职责职责 说明1️⃣ 用户交互接口 提供给用户或外部系统的访问入口,如 Web API、MVC Controller、Razor 页面、Blazor 页面等。2️⃣ 请求验证 对输入数据进行基础校验,如必填字段…

环信im云即时通讯

环信im云即时通讯一、环信im云介绍 环信im云是即时通讯云 PaaS 平台,开发者可以通过简单的SDK和REST API对接。支持安卓,iOS,Web等客户端SDK对接 提供单聊,群聊,聊天室等即时通讯功能 支持富媒体消息,实时音视频…

Minimal API(Net9)

前言 Minimal API(Net9) Minimal API 是 ASP.NET Core 提供的一种“极简”风格的写法:用非常少的样板代码(通常在 Program.cs)直接注册路由和处理器,适合微服务、后端小服务、快速原型或需要极高性能/低开销的 HTT…

MediatR 中介者模式

前言 MediatR 1.简介 概念 MediatR 是一个 .NET 的轻量级库,用来实现 Mediator(中介者)模式,主要目的是把对象之间的直接调用(紧耦合)替换为通过中介者传递消息(松耦合)。它常用来实现 请求-处理(Request/Res…

FluentValidation 模型校验框架

前言 验证器(FluentValidation) 1.简介 概念 FluentValidation 是一个 .NET 的验证库,用 流式语法(Fluent API) 定义对象验证规则。它的特点:强类型:验证类对应模型类。 流式接口:代码清晰可读。 可扩展:支持自…

IdentityServer4认证授权之授权码模式(Authorization Code+PKCE)

前言 1.配置服务认证授权 订单服务(Ordering.API)配置了认证授权,所以我们使用Scalar调试接口的时候也需要认证服务(Identity.API)颁发的token,上面的测试就是401无权限 首先我们再回忆下我们认证授权配置了那些:认…

IdentityServer4认证授权之OpenId Connect认证流程

前言 1.认证服务日志中间件(RequestLoggingMiddleware) 经过之前的学习,项目基本都能跑起来了(除了HybridApp),但是我还是想有始有终,全部学完,如果你此时还运行不了项目,先看看我的验证过程即可 为了了解认证服…

IdentityServer4认证授权之OpenId Connect方案

前言 1.授权(AddAuthorization) WebhookClient是基于Blazor开发的Web项目,即像客户端,又像服务端,所以认证授权和之前纯后端服务有些不一样,还是一行一行学习吧 这里没有添加授权方案,默认的授权方案是认证登录之…

IdentityServer4认证授权之隐式流模式(Implicit)

前言 1.配置服务认证授权 订单服务(Ordering.API)配置了认证授权,所以我们使用Scalar调试接口的时候也需要认证服务(Identity.API)颁发的token,上面的测试就是401无权限 首先我们再回忆下我们认证授权配置了那些:认…

.NET Core 微服务之RabbitMQ分布式链路追踪

前言 1.分布式追踪 分布式追踪是一种用来观察、分析分布式系统中一次请求在多个服务之间调用路径的技术。 分布式追踪的核心概念 Trace(跟踪/链路) Trace = 一次业务请求的完整链路。 例如:用户下单从开始到结束的完…

Asp.Net Core 过滤器之Filter

过滤器(Filter) 1.概念 过滤器(Filter)是 ASP.NET Core MVC 的一种 拦截器机制,可以在 Controller 或 Action 执行前后插入逻辑。 它类似中间件,但只作用于 MVC/Web API 请求(控制器和操作方法),不能拦截静态文…

Asp.Net Core 请求管道中间件之Middleware

前言 中间件(Middleware) 概念 中间件是 ASP.NET Core 请求处理管道(pipeline) 中的一段可插拔组件,接收 HttpContext、执行任意逻辑、并决定是否把请求交给管道中的下一个中间件。管道呈“洋葱模型”(请求顺序进入…

Git推送从失败到成功的解决方案

问题描述 今天在尝试将本地代码推送到GitHub远程仓库时,遇到了推送失败的问题。使用git push命令后,出现了以下错误: fatal: unable to access https://github.com/guchen66/IT.Tangdao.Core.git/: OpenSSL SSL_rea…

Microsoft-Store-error

Microsoft-Store-error导航 (返回顶部)1. Store初始化失败1.1 为何要卸载Edge 1.2 如何卸载Edge 1.3 为何删除Edge会影响微软商店2. 微软商店无法联网2.1 解除网络隔离的办法有:3. CheckNetIsolation解除网络隔离3.1 查…

STM32 HAL库 硬件IIC 从机一些问题整理(转载)

一、从机双地址,在回调函数中获取主机访问的地址:void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *I2cHandle) {uint16_t slaveaddrcode = I2C_GET_ADDR_MATCH(I2cHandle);printf("R:%d\r\n",sl…

本地人推荐的火锅,天台火锅/麻辣火锅/老火锅/市井火锅/川渝火锅约会地点推荐榜单

专业视角下的川渝火锅团建选址指南 随着企业团建需求的多元化发展,川渝火锅凭借其独特的社交属性与浓郁的文化氛围,已成为企业团建活动的优选场所。本文基于市场调研数据与消费者反馈,从空间容量、服务质量、特色体…

OBDSTAR P003+ Kit for DC706 Tablets: Simplify ECU, EEPROM, Flash IMMO Data Diagnostics Programming

Troubleshooting ECU & IMMO Challenges on European/American Cars? Meet the OBDSTAR P003+ Kit The Pain Point: Decrypting ECU & IMMO Data on European/American Vehicles For European and American m…