如何在PHP中使用openssl 扩展实现公钥加密

如下所示:

// 生成私钥
# openssl genrsa -out rsa_private_key.pem 1024
// 生成公钥
# openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

下面是示例代码:

<?php
// openssl 扩展检测
var_dump(extension_loaded('openssl'));
$prikey = openssl_pkey_get_private(file_get_contents('rsa_private_key.pem')); //私钥
$pubkey = openssl_pkey_get_public(file_get_contents('rsa_public_key.pem')); //公钥
// 明文数据
$data = 'test-string!';
/**
 * 可能会出的问题:Don't know how to get public key from this private key
 * 原因:PHP 的 openssl 扩展和 Apache 的不一致导致, 当然在命令行下运行程序则不会出现此问题
 */
// 公钥加密
$encrypt_data = '';
openssl_public_encrypt($data, $encrypt_data, $pubkey);
$encrypt_data = base64_encode($encrypt_data);
echo $encrypt_data;
echo '<br/>';
// ------------------------------------------------------------
// 私钥解密
$encrypt_data = base64_decode($encrypt_data);
openssl_private_decrypt($encrypt_data, $decrypt_data, $prikey);
var_dump($decrypt_data);

原创文章,作者:KLMPX,如若转载,请注明出处:http://www.wangzhanshi.com/n/16420.html

(0)
KLMPX的头像KLMPX
上一篇 2025年1月2日 12:39:14
下一篇 2025年1月2日 12:39:16

相关推荐

  • Openssl及加密解密(一)数据加密解密及CA原理

    明文:plaintxt或者cleartext,也就是没有加密的,直接可以看懂的内容。密文就是通过特殊方式处理过的内容,无法直接看懂。 常见的加密方式: 对称加密 公钥加密 单向加密…

    ssl证书 2025年1月2日
  • 查询ssl证书的方法

    ssl证书在网络的信息保护和网站安全中起着至关重要的作用。随着时代的发展,它也渐渐被人们重视。很多网址都会安装、ssl,不仅仅是大型企业或是政府机构,很多个人和小型企业也会安装ss…

    2025年1月2日
  • 如何在PHP中利用OpenSSL对证书进行生成

    依赖于OpenSSL扩展 /*加密解密*/ function authcode($string, $operation = 'E&…

    ssl证书 2025年1月2日
  • PHP中怎么使用OpenSSL加密中的证书

    PHP的OpenSSL加密扩展学习(三):证书操作 关于对称和非对称的加密操作,我们已经学习完两篇文章的内容了,接下来,我们就继续学习关于证书的生成。 生成 CSR 证书签名请求 …

    ssl证书 2025年1月2日
  • 怎样购买ssl证书

    越来越多人会使用网络,那么,我们的网络安全,必须要受到重视,在全网使用HTTPs,过程中,网站中部署了ssl证书和https是必须要拥有的了,但是现在我们的网络市场中https证书…

    2025年1月2日
  • php中如何将mcrypt转换成openssl?

    例如 public function desEncrypt($str,$key) { $iv = $key; $size = mcrypt_get_block_size ( MCR…

    ssl证书 2025年1月2日
  • 关于ssl证书有什么用的分析

    ssl证书一般适用于保障网络运营安全的一种安全信息手段,一般网络端口分为服务器端和用户端,而ssl证书则可以双向对其进行安全保障,防止两方所传递的信息文本被盗取。下面就深入了解ss…

    2025年1月2日
  • HP Unix openssl、openssh 升级

    一、升级前请先启用telnet服务!防止远程ssh连接断开后无法连到服务器上。 二、准备好下面的5个包,这几个包是升级openssh和openssl所依赖的。 下面的包的官网下载地…

    2025年1月2日
  • 关于EV SSL证书的相关介绍

    SSL证书的产生是为了抵制日益猖獗的网络欺诈,在传输数据的过程中给予加密,增强人们对网站的信任。因此不少企业都会为自己的网站申请并安装SSL证书。 SSL证书由安全性能等级可以分为…

    2025年1月2日
  • 免费ssl证书有什么缺点

    现在这个时代是一个互联网时代,所以我们在使用网络的时候十分关注它的安全问题,目前有很多的网站都通过安装ssl证书来保障信息的安全,目前市面上存在着两种ssl证书,一种是需要付费的,…

    2025年1月20日

发表回复

登录后才能评论