专栏首页IT笔记支付宝支付密钥RSA1升级到RSA2

支付宝支付密钥RSA1升级到RSA2

前言

支付宝作为国内第一的第三方支付平台,安全的重要性不言而喻了,下面主要对密钥做一个简单的介绍和升级流程。

介绍

SHA-1与SHA-2

SHA代表安全哈希算法。SHA-1和SHA-2是该算法不同的两个版本,它们的构造和签名的长度都有所不一样,但可以把SHA-2理解为SHA-1的继承者。

首先,人们一般把哈希值位数长度作为重要的区别,SHA-1是160位的哈希值,而SHA-2是组合值,有不同的位数,其中最受欢迎的是256位。

公钥和私钥

公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。

公钥和私钥是成对出现的,我们会保留有自己的私钥,同时公开自己的公钥。一个很典型的例子是GitHub的使用。我们通常不会使用账号密码来管理自己的项目,而是通过将自己的公钥上传到GitHub的里,而自己的电脑里则保留有相对应的私钥,从而达到免密码提交代码。

当然私钥和公钥对是唯一的,而你也可以随时重新生成自己的公钥和私钥密码对,但当你从新生成密钥对并覆盖了就有的密钥时,你之前的公钥就作废了。

简单来说就是:公钥加密,私钥解密,私钥签名,公钥验证。

升级

蚂蚁金服开放平台接口签名方式升级,由此前的RSA(SHA1)升级为RSA(SHA256),请按照以下步骤来完成升级:

注意事项:验签的时候支付宝公钥需要改成可配置的,因为RSA2的支付宝公钥每个商户都不一样,不能统一默认。

把生成好的公钥上传到支付宝后台,会自动生成支付宝公钥。注意,此公钥非彼公钥,是两个不同的东西。

这里两种签名方式可以共存,互不影响,只要保证公钥私钥一致即可。

项目源码

支付宝,微信,银联详细代码案例: https://gitee.com/52itstyle/spring-boot-pay

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 内网文库搭建备忘录

    小柒2012
  • 内网文库搭建备忘录

    小柒2012
  • SpringBoot开发案例之整合日志管理

    有一种力量无人能抵挡,它永不言败生来倔强。有一种理想照亮了迷茫,在那写满荣耀的地方。

    小柒2012
  • 研究人员使用AI对照片中的人脸进行去模糊处理

    用手机抓拍高速度物体照片非常困难,往往只能得到一堆模糊到看不清的照片。为了寻找解决方案,阿拉伯联合酋长国人工智能研究所、北京理工大学和石溪大学的科学家们联合开发...

    AiTechYun
  • SpringIOC--初始化源码解析

    在上一篇 Spring从入门到精通(一)—-IoC(控制反转) 中,详细的介绍了IOC的基本原理,本篇博客就不再赘述;这次主要是从源码的角度来给大家分享Spr...

    令仔很忙
  • nginx rewrite

    rewrite的作用 rewrite可以实现url的重定向,把用户请求的url转发到另一个url,但用户浏览器地址并不改变 例如常用的伪静态化,就是通过rewr...

    dys
  • 暖通空调系统的IoT思考

    各种各样的水平和垂直方式进入了物联网市场。 由于对物联网市场的大胆预测,关于物联网市场策略的争论将会继续下去。 不幸的是,炒作会导致神话,而神话会导致混乱。

    半吊子全栈工匠
  • 研究人员发现MAC上的DLL劫持技术

    DDL劫持不仅限于Windows:概念上类似的攻击也存在于OS X系统。 根据安全公司的最新研究,DLL劫持在Mac上也同样适用,可以用来绕过苹果GateK...

    安恒信息
  • Maven依赖管理大全

    大家都知道随着业务的进展,项目会变得越来越多,这个时候如果没有一个统一的依赖管理中心,就会有很多问题发生。

    林老师带你学编程
  • js的语法糖?

    前端多写了个+号导致的bug,网址后面多一个0。虽然不知道是什么原因,但是感觉是js的隐式替换

    ydymz

扫码关注云+社区

领取腾讯云代金券