首页 > 其他分享 >0101支付安全-支付模块-项目实战

0101支付安全-支付模块-项目实战

时间:2024-03-26 18:32:24浏览次数:27  
标签:公钥 加密 0101 秘钥 密钥 模块 支付 私钥 非对称

文章目录


在支付过程中,设计多方的敏感信息,那么安全尤为重要。下面先简单介绍下,相关概念。

一、信息安全的基础-机密性

1 相关概念

  • 明文:加密前的消息叫“明文”(plaintext)
  • 密文:加密后的文本叫“密文”(ciphertext)
  • 密钥:只有掌握特殊“钥匙”的人,才能对加密的文本进行解密,这里的“钥匙”就叫做“密钥”(key)
    • 秘钥就是一个字符串,度量单位是位(bit),比如,秘钥长度128,就是16字节的二进制串。
  • 加密:实现机密性最常用的手段是“加密”(encrypt)。
    • 按照秘钥的方式,机密可分为两大类:对称加密和非对称加密。
  • 加密算法:加密解密的操作过程就是“加密算法”
    • 所有的加密算法都是公开的,而算法使用的“密钥”则必须保密

2 对称加密和非对称加密

对称加密

在这里插入图片描述

  • AES加密算法:密钥长度128、192或256,安全强度很高,性能很好。
  • 加密分组模式:将明文分组加密,微信支付使用AEAD_AES_256_GCM.

非对称加密

在这里插入图片描述

  • 使用公钥加密只能用私钥解密,反过来私钥加密需要公钥解密,用于身份认证。
  • RSA加密算法:常用非对称加密算法

对称加密和非对称加密比较:

  • 对称加密
    • 特点:只使用一个密钥,密钥必须保密,常用的有AES算法
    • 优点:运算速度快
    • 缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息会被破解,无法做到安全的密钥交换
  • 非对称加密:
    • 特点:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,常用的有RSA
    • 优点:黑客获取公钥无法破解密文,解决了密钥交换的问题
    • 缺点:运算速度非常慢
  • 混合加密:实际场景中把对称加密和非对称加密结合起来使用,比如秘钥传输使用非对称加密保证秘钥安全性;传输的内容使用对称加密保证高效性。

二、身份认证

公钥加密,私钥解密的作用是加密信息私钥加密,公钥解密的作用是身份认证。

三 摘要算法

摘要算法就是我们常说的散列函数、哈希函数(HashFunction),它能够把任意长度的数据“压缩”成固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”。
**作用:**保证信息的完整性
特性:

  • 不可逆:只有算法,没有秘钥,只能加密,不能解密
  • 难题友好性:想要破解,只能暴力枚举
  • 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
  • 抗碰撞性:原文不同,计算后的摘要也要不同

常见摘要算法:
MD5、SHA1、SHA2(SHA224、SHA256、SHA384)

四、数字签名

数字签名是使用私钥对摘要加密生成签名,需要由公钥将签名解密后进行验证,实现身份认证和不可否认
签名和验证签名的流程:

在这里插入图片描述

五、数字证书

数字证书解决“公钥的信任”问题,可以防止黑客伪造公钥。不能直接分发公钥,公钥的分发必须使用数字证书,数字证书由CA颁发。

https协议中的数字证书:

在这里插入图片描述

**声明:**内容取自下面链接1,想看原版的可以去链接1获取。

结语

欢迎小伙伴一起学习交流,需要啥工具或者有啥问题随时联系我。

❓QQ:806797785

⭐️源代码地址:https://gitee.com/gaogzhen/smart-utilities.git

[1]支付视频教程[CP/OL]

标签:公钥,加密,0101,秘钥,密钥,模块,支付,私钥,非对称
From: https://blog.csdn.net/gaogzhen/article/details/137040400

相关文章

  • 基于公众号的微信支付步骤详解,附全部代码
    一、背景介绍最近接到一个项目,需要在微信公众号菜单中集成一个vue系统,支持下单、微信支付等功能,下面就微信支付核心部分做一下记录。二、对接流程图1)对接流程图2)涉及接口(接口地址:API列表-JSAPI支付|微信支付商户平台文档中心)三、微信支付相关申请及配置在正式编......
  • 自然语言处理下载nltk模块库
    nltk安装目录nltk安装1.官方下载2.离线下载2.1下载nltk资料包2.2解压下载的资料包重命名2.2.1将解压后的packages文件夹重命名为nltk_data2.2.2查看将重命名的文件夹放在那个位置2.2.3将上述nltk_data文件夹放在2.2.2打印的位置处3.验证是否下载成功1.官......
  • 开发一款打车APP功能模块
       开发一款打车APP的功能,就是要先确认给你的需求,再设计好软件的UI,后期才能交给程序开发。   预车功能:用户提前选择约车的时间,地点,司机看到订单前往目的地接人。   路况显示:展示当前道路的实际情况,帮助司机贺乘客规划路线。   平台活动:提供各种优惠活动,如优......
  • Python数据库模块(sqlite3,SQLite3)
    一、sqlite命令创建数据库:在控制台sqlite3name.databases查看数据库.tables查看表格名databaseName.dump>dumpName将数据库存在文本文件dumpName中,恢复就用databaseName<dumpName;attachdatabase......
  • BOSHIDA DC电源模块的分类及特点介绍
    BOSHIDADC电源模块的分类及特点介绍DC电源模块是一种将交流电转换为直流电的设备,广泛应用于各种电子设备中。根据其特点和功能,DC电源模块可以分为线性稳压模块和开关稳压模块两种。本文将详细介绍这两种DC电源模块的分类和特点,以便读者更好地了解它们。 开始,我们来看线性稳......
  • 使用go语言, 如何 只需一步调用,创建支付宝代扣
    使用go语言,如何只需一步调用,创建支付宝代扣  目标原理快速使用gitclonehttps://github.com/284851828/alilite_go.gitgomodtidygorundemo.go"#alilite_go"packagemainimport( "log" "time" c"alilite/client"//Replacewith......
  • 使用PHP语言, 如何 只需一步调用,创建支付宝代扣
    使用php语言,如何只需一步调用,创建支付宝代扣  目标原理"#alilite_php"<?phprequire_once'GatewaySdk.php';$appId="999999";//AppID向客户经理申请$sdk=newGatewaySdk($appId);$payload=['timestamp'=>1711347......
  • 一个基于.NET Core构建的简单、跨平台、模块化的商城系统
    前言今天大姚给大家分享一个基于.NETCore构建的简单、跨平台、模块化、完全开源免费(MITLicense)的商城系统:ModuleShop。商城后台管理端功能商品:分类、品牌、单位、选项(销售属性)、属性、属性模板、属性组。销售:订单、物流。内容:首页配置、评论、回复。配置:国家、用......
  • 一个基于.NET Core构建的简单、跨平台、模块化的商城系统
    前言今天大姚给大家分享一个基于.NETCore构建的简单、跨平台、模块化、完全开源免费(MITLicense)的商城系统:ModuleShop。商城后台管理端功能商品:分类、品牌、单位、选项(销售属性)、属性、属性模板、属性组。销售:订单、物流。内容:首页配置、评论、回复。配置:国家、用户、仓......
  • go--time 模块
    time模块获取当前的时间和月份packagemainimport("fmt""time")funcmain(){t:=time.Now()//获取当前时间fmt.Println(t)fmt.Println(t.Date())//获取日期fmt.Println(t.Year())//获取年份fmt.Println(t.M......