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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用【百度云推送】第三方SDK实现推送功能具体解释

    使用【百度云推送】第三方SDK实现推送功能具体解释

    2021年12月6日
    63
  • Jmeter下载安装配置—测试小白

    Jmeter下载安装配置—测试小白一,进入官网:http://jmeter.apache.org/1.第一步进入官网如下图2.选择进行下载,下载下来为一个压缩包,解压即可。3.我下载的是jmeter4.0版本,对应jdk1.8。然后就进行解压。个人认为要注意3点:1.解压之后压缩包叫apache-jmeter-4.0.zip,如是src.zip后缀的都不对,打开之后会报错不可用,因为里面缺少我们下一步将要配置的环境变量.jar文件…

    2022年5月29日
    32
  • Oracle、plsql安装以及使用教程「建议收藏」

    Oracle、plsql安装以及使用教程「建议收藏」Oracle安装Oracle(11g)数据库安装详细图解教程plsql安装PLSQL下载、安装、配置、连接详细教程创建数据库注意略过关于监听配置的所有部分Oracle创建数据库实例plsql连接数据库如下所示,按照上述步骤完成安装创建之后,只需要在database前面加个127.0.0.1/你创建的数据库即可建表点击file->new->table之后根据需要创建数据库即可…

    2022年5月30日
    40
  • java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]

    java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]介绍:简单来说,Scanner就是用来获取用户在控制台输入的字符串,也可以获取一个文件中的字符串。java.util.Scanner是Java5的特征,一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。使用方法介绍:1、使用不同的next方法将得到的标记转换为不同类型的值,比如说要从获控制台取一个输入字符串中的int类型的数字,使用nextInt。代码示例:Scanners…

    2022年7月20日
    14
  • SpringBoot非官方教程 | 第十篇: 用Spring Restdocs创建API文档「建议收藏」

    SpringBoot非官方教程 | 第十篇: 用Spring Restdocs创建API文档

    2022年3月6日
    35
  • 数据统计的视觉盛宴—visifire charts

    数据统计的视觉盛宴—visifire charts上文中我给大家展示了微软提供的开源toolkit中图表控件的效果和使用,但是与fusioncharts相比效果还是显得逊色。本篇将介绍另一种charts控件库—visifirecharts。visifire控件库不仅涵盖wpf/silverlight,还有windowsphone的版本(由此可见将wpf的代码移植到silverlight和windowsphone上是一个非…

    2022年7月21日
    14

发表回复

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

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