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

PHP生成RSA/ECC密钥对

使用PHP生成RSA/ECC密钥对,可用于签发证书、微信/支付宝支付签名等。

<?php
$options = ['private_key_bits' => 384,'private_key_type' => OPENSSL_KEYTYPE_EC,'curve_name' => 'secp384r1','config' => __DIR__ . '/openssl.cnf',
];
$private_key = openssl_pkey_new($options);
$keyDetail = openssl_pkey_get_details($private_key);$publicKey = $keyDetail['key'];$result = openssl_pkey_export($private_key, $privateKey, null, $options);openssl_pkey_free($private_key);echo json_encode(compact('privateKey', 'publicKey'), 256 | 128);/*
{"privateKey": "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDAmtrPgKoBN3pyuxqhbLerF7R1z34wM4+A6KZ9mVuILcRQMMg\/1R7al\nIBi1nloOsg6gBwYFK4EEACKhZANiAAQfI7zwMKkTd2mSdPDkOmLWlpi\/4rw30Kvw\n5k4G3Hv+gx6Nz6n1wKL7syRCvlG9JX2k+5UecsUfe1N6j+4QVQdF78pFp9paHIKg\n9opts2wcfM28sRmqcxn7o5JpqtXMc1Y=\n-----END EC PRIVATE KEY-----\n","publicKey": "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEHyO88DCpE3dpknTw5Dpi1paYv+K8N9Cr\n8OZOBtx7\/oMejc+p9cCi+7MkQr5RvSV9pPuVHnLFH3tTeo\/uEFUHRe\/KRafaWhyC\noPaKbbNsHHzNvLEZqnMZ+6OSaarVzHNW\n-----END PUBLIC KEY-----\n"
}
*/

openssl.cnf

HOME			= .
RANDFILE		= $ENV::HOME/.rnd
生成ECC椭圆算法密钥对的options-两个推荐的曲线
//推荐最低384
$options = ['private_key_bits' => 256,'private_key_type' => OPENSSL_KEYTYPE_EC,'curve_name' => 'prime256v1','config' => __DIR__ . '/openssl.cnf',
];$options = ['private_key_bits' => 384,'private_key_type' => OPENSSL_KEYTYPE_EC,'curve_name' => 'secp384r1','config' => __DIR__ . '/openssl.cnf',
];
RSA 参数
$options = ['private_key_bits' => 2048 ,'private_key_type' => OPENSSL_KEYTYPE_RSA ,'config' => __DIR__ . '/openssl.cnf',
];

http://www.mrgr.cn/news/47747.html

相关文章:

  • k8s排错集:zk集群的pod报错 Init:CrashLoopBackOff无法启动
  • renben-openstack-使用操作
  • Java虚拟机(Java Virtual Machine,JVM)
  • Java验证邮箱是否有用的实现与解析
  • 解决Edge打开PDF总是没有焦点
  • CSS:背景样式、盒子模型与文本样式
  • 基于华为云函数工作流Functiongraph的AI风格化编程
  • Unity游戏通用框架——单例模式
  • MySQL中text类型对查询效率的影响
  • 扩散模型代码实战:无条件图像生成扩散模型
  • 零基础也可以搞懂负载均衡怎么配置!
  • 怎样批量删除大量的QQ邮件?
  • 《大模型应用开发极简入门》学习成为善用 AI 的人!看完懂得90%的大模型!{含pdf版电子书}_大模型应用开发极简入门 pdf
  • 精准控制外发文档的打开次数、时间,过期自动删除无法打开,赶紧收藏
  • MLCC贴片电容不同材质区别:【及电容工作原理】
  • 康达新材: 以CRM丰富数字化转型助推业务全面升级
  • 国企最爱的校招大学院校和专业,都有哪些呢?盘点一下
  • 【4G低功耗摄像头快速启动抓拍形式 秒级别唤醒方案功耗超低】
  • 2024选购文件加密软件的避坑指南 |如何选择好用的文档加密软件
  • tp框架网络请求
  • YOLOv11改进策略【注意力机制篇】| 引入SimAM注意力模块(一个简单的,无参数的卷积神经网络注意模块)
  • vue3--通用组件 popup 封装
  • 猫头虎分享:Python库 Django 的简介、安装、用法详解入门教程
  • 如何用源码快速搭建属于你的外卖系统?
  • 推进大模型在数字政府中的应用
  • 通信接入技术