关于rsa公钥格式的处理,一行纯内容进行换行格式化
最近在开发百度小程序,他的平台公钥是纯字符串,公钥的内容,没有rsa文件的头(-----BEGIN PUBLIC KEY-----)和尾部分-----END PUBLIC KEY-----
但是 PHP函数 openssl_verify 是要接受 如下格式的公钥内容的
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNA6DCBiQKBgQCwbR2M2efjbuttNoeCjE19ZBqA
z3Q2BWxdNeQfC7v3434344OI54JB28H5DX1H44CFRgodYn6oLzI4zh3kG2XqwAOGf4
FOZlkD1nkDhlY8od4mUJvEr1XwSz+V2W0aNyONBe29NdWScMQlTxhxf15NaHHSM1l
RkiOOOhNXgLLXOXF4QID3AQAB
-----END PUBLIC KEY-----
2、解决办法
使用 wordwrap 函数进行固定长度换行处理,头尾连接对应的 -----BEGIN PUBLIC KEY----- 和 -----END PUBLIC KEY-----
代码如下:
$publickey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYwzcpD6YQQu3ddK147cjBZoqRupP56FJIH2Rr8ShLawh1fbmHRHbrtfKsPE7jJS6UXEI0LncqUydbVKnOt9q1Dt+W8mEXZxzArmv5NuaHI7+Rx2ehphk913bR531CPm/+nUfLQN/9JT+2MVLMRMQ5P2b3fH+8h+ndvKhHQGetXwIDAQAB'; $publickey = "-----BEGIN PUBLIC KEY-----\n" .
wordwrap($publickey, 64, "\n", true) .
"\n-----END PUBLIC KEY-----";
最终返回的就是拼接好并且按照格式换行的内容了
关于rsa公钥格式的处理,一行纯内容进行换行格式化的更多相关文章
- JAVA,NET RSA密钥格式转换
JAVA和NET RSA密钥格式相互转换(公钥,私钥) 做了一个小项目遇到java和.net非对称加密问题,java的公钥和私钥就直接是一个字符串的形式展示的,但是.net是以xml简单包裹形式展示的 ...
- openssl RSA密钥格式PKCS1和PKCS8相互转换
RSA私钥格式PKCS1和PKCS8相互转换 RSA公钥格式PKCS1和PKCS8相互转换 以下转换基于openssl命令的操作: 1. openssl 生成pkcs1格式的私钥,密钥长度1024位, ...
- .NET与JAVA RSA密钥格式转换
一.该篇内容用于记录.net和Java之间,RSA公密钥的转换 using Org.BouncyCastle.Asn1.Pkcs; using Org.BouncyCastle.Asn1.X509; ...
- rsa字符串格式公钥转换python rsa库可识别的公钥形式
在爬虫分析的时候,经常在网页上看到如下格式的rsa公钥: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC7kw8r6tq43pwApYvkJ5laljaN9BZb21 ...
- 把Java生成的RSA公钥、私钥转换成.NET使用的XML格式
import java.security.KeyFactory; import java.security.interfaces.RSAPrivateCrtKey; import java.secur ...
- RSA公钥文件解密密文的原理分析
前言 最近在学习RSA加解密过程中遇到一个这样的难题:假设已知publickey公钥文件和加密后的密文flag,如何对其密文进行解密,转换成明文~~ 分析 对于rsa算法的公钥与私钥的产生,我们可以了 ...
- [转载]X509证书中RSA公钥的提取与载入 pem key
原地址:https://blog.csdn.net/anddy926/article/details/8940377 由于项目需要,我计划利用openssl开发一个基本的CA,实现证书的发放等功能.在 ...
- 如何使用openssl生成RSA公钥和私钥对
在ubuntu上要使用openssl的话需要先进行安装,命令如下: sudo apt-get install openssl 安装完成就可以使用openssl了. 首先需要进入openssl的交互 ...
- mac上使用终端生成RSA公钥和密钥
首先确保你的电脑上安装了openssl,一般mac系统安装后都会自动安装!怎么安装??.....请百度...... 安装命令如下: sudo apt-get install openssl 在你的任何 ...
随机推荐
- DSO missing from command line
最近项目正经历着一次更新,一系列编译工具都进行了大版本的升级,随时而来的是,原本正常编译的代码出现了大量的warning,最终编译失败,其 中一个问题困扰了比较长的时间,虽然fix的方法不难,但是一直 ...
- scp2自动部署
安装scp2 npm install scp2 --save-dev 配置服务器文件 项目根目录创建文件 .env.dev 文件 (测试环境变量)和创建 .env.prod 文件 (生产环境变量) V ...
- JS 知识图
- TCP三次握手过程中涉及的队列知识的学习
先上一张图 (图片来源:http://www.cnxct.com/something-about-phpfpm-s-backlog/) 如上图所示,这里有两个队列:syns queue(半连接队列): ...
- GC案例
FGC----jmap -histo:live导致 线上某服务的老年代配置了CMS,但却在gc.log发现连续Full GC的问题.JVM参数配置如下: -XX:+UseCMSInitiatingOc ...
- 惊呆!Java程序员等级一览
凡人:买本书凑凑热闹,听得多写的少,过段时间就把老师教的都忘了.这个阶段是刷掉人最多的阶段,也是从凡人到程序员本质区别的阶段.你的日后成就在于你的习惯与态度.隔一段时间整理自己的知识体系是重中之重 ...
- hibernate使用注解生成表,有时无法生成数据表的原因
待生成表中有字段“desc”或“descripe”等和hibernate关键字,导致和hibernate冲突
- Nginx 的关键组件的介绍
本文章主要介绍Nginx本身功能,不依赖第三方的任何模块.介绍常用的组件功能:反向代理.负载均衡.Http服务器.正向代理 反向代理(Reverse Proxy): 什么是反向代理呢?本人最直接的理解 ...
- 剑指Offer编程题(python)——链表
1.从尾到头打印链表 #输入一个链表,按链表值从尾到头的顺序返回一个ArrayList.class ListNode: def __init__(self, x): self.val = x self ...
- 两个linux服务器之间免密登录
服务器A(假设为10.64.104.11) 免密登录服务器B(10.64.104.22) 1.登录服务器A 2.生成公私钥 ssh-keygen -t rsa 3.将生成的.pub文件发送到服务器B上 ...