php openssl生成证书,php中使用OpenSSL生成证书及加密解密[通俗易懂]

php openssl生成证书,php中使用OpenSSL生成证书及加密解密[通俗易懂]摘要:这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下依赖于OpenSSL扩展/*加密解密*/functionauthcode($string,$operation=’E’){$ssl_public=file_get_contents(DAT这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下依赖于OpenSSL扩展…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

摘要:这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下依赖于OpenSSL扩展/*加密解密*/

function authcode($string, $operation = ‘E’) {

$ssl_public = file_get_contents(DAT

这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下

依赖于OpenSSL扩展/*加密解密*/

function authcode($string, $operation = ‘E’) {

$ssl_public = file_get_contents(DATA_PATH.”/conf/cert_public.key”);

$ssl_private = file_get_contents(DATA_PATH.”/conf/cert_private.pem”);

$pi_key = openssl_pkey_get_private($ssl_private);//这个函数可用来判断私钥是否是可用的,可用返回资源id Resource id

$pu_key = openssl_pkey_get_public($ssl_public);//这个函数可用来判断公钥是否是可用的

if(false == ($pi_key || $pu_key)) return ‘证书错误’;

$data = “”;

if($operation==’D’){

openssl_private_decrypt(base64_decode($string),$data,$pi_key);//私钥解密

}else{

openssl_public_encrypt($string,$data,$pu_key);//公钥加密

$data = base64_encode($data);

}

return $data;

}

/*生成证书*/

function exportOpenSSLFile(){

$config = array(

“digest_alg”    => “sha512”,

“private_key_bits” => 4096,           //字节数  512 1024 2048  4096 等

“private_key_type” => OPENSSL_KEYTYPE_RSA,   //加密类型

);

$res = openssl_pkey_new($config);

if($res == false) return false;

openssl_pkey_export($res, $private_key);

$public_key = openssl_pkey_get_details($res);

$public_key = $public_key[“key”];

file_put_contents(DATA_PATH.”/conf/cert_public.key”,$public_key);

file_put_contents(DATA_PATH.”/conf/cert_private.pem”,$private_key);

openssl_free_key($res);

}

更多关于php中使用OpenSSL生成证书及加密解密请关注PHP中文网(www.php.cn)其他文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191805.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DirectByteBuffer_bytebuffer.get

    DirectByteBuffer_bytebuffer.getByteBuffer是NIO里用得最多的Buffer,它包含两个实现方式:HeapByteBuffer是基于Java堆的实现,而DirectByteBuffer则使用了unsafe的API进行了堆外的实现。这里只说HeapByteBuffer。在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据

    2022年10月2日
    0
  • maven打包时打包指定的lib文件夹

    maven打包时打包指定的lib文件夹今天在打包自己的springboot项目时遇到了问题,报找不到类和符号。因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包。修改pom.xml,添加一下内容:<build><plugins><plugin><groupId>or…

    2022年5月29日
    39
  • java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一「建议收藏」

    java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一「建议收藏」对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java泛型详解、Java中的泛型方法、 java泛型详解1.概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传

    2022年7月8日
    13
  • 免费的网络传真平台_发传真不显示发送号码

    免费的网络传真平台_发传真不显示发送号码首先我们看到的是免费网络传真:faxZERO  官方网址是:http://faxzero.com/  这个免费传真适用于美国和加拿大,发送的传真上会自动附上广告,每次发传真只能发三页,也每天只可以发两次。  faxZERO无需你拥有一台传真机,也不需要注册用户即可在线发送免费网络传真,每天可发送2个免费网络传真,每个免费网络传真最多可发3个页面,支持.DOC(Word)和.

    2022年4月19日
    43
  • 像Excel一样使用python进行数据分析

    像Excel一样使用python进行数据分析Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作。在Python中pandas库用于数据处理

    2022年7月6日
    15
  • 使用reaver傻瓜式破解wifi之利用路由器WPS漏洞[通俗易懂]

    使用reaver傻瓜式破解wifi之利用路由器WPS漏洞[通俗易懂]跟这篇破解教程一样,网上破解教程多是基于路由器的WPS漏洞破解,但是这样的路由器只占少数。一般wifi是依据WPA/WPA2加密的,因此想要破解一般的wifi,还得破解这个协议,虽然近期这个协议也被破解了,不过也是很不容易的。刚入门破解,不是很熟悉,在网上找各种破解资料,终于破解成功了临近工作室的wifi,沾沾自喜~本文破解wifi针对一些路由器的WPS(Wi-fipro…

    2022年5月7日
    319

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号