知识大全 php pki加密技术(openssl)详解

Posted 文件

篇首语:识字粗堪供赋役,不须辛苦慕公卿。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 php pki加密技术(openssl)详解相关的知识,希望对你有一定的参考价值。

本篇文章是对php中的pki加密技术(openssl)进行了详细的分析介绍 需要的朋友参考下   复制代码 代码如下: <?php //pki加密 //使用pki加密需要开启 openssl扩展 //php ini extension = php_openssl dll扩展 /*pki模式是 * 公钥加密 私钥解密 * 私钥加密 公钥解密 */ //私钥加密 公钥解密 //客户端 //$data数据 $data = abcd ; //获取私钥 $priv_key_id $priv_key_id = openssl_get_privatekey(file_get_contents( bill rsa pem r)); //获取公钥 $pub_key_id $pub_key_id = openssl_get_publickey(file_get_contents( bill rsa cer r)); //$data首选通过SHA 哈希加密 然后通过$priv_key_id私钥加密 生成签名$signature //$signature就是加密过的签名 //openssl_sign()加密函数 至于它的解密方法我不知道?????????????????????? openssl_sign($data $signature $priv_key_id OPENSSL_ALGO_SHA ); //还有两种加密函数 而且这两种加密函数有解密方法 知道 //第一种 私钥加密 公钥解密 //$data要加密的数据 $crypted是加密生成的数据 $decrypted是解密生成的数据 $data与$decrypted值相同 //通过$priv_key_id私钥加密 生成$crypted; openssl_private_encrypt($data $crypted $priv_key_id); echo $crypted; //通过$pub_key_id公钥解密 生成$decrypted openssl_public_decrypt($crypted $decrypted $pub_key_id); //第二种 公钥加密 私钥解密 //$data要加密的数据 $crypted是加密生成的数据 $decrypted是解密生成的数据 $data与$decrypted值相同 //通过$pub_key_id公钥加密 生成$crypted; openssl_public_encrypt($data $crypted $pub_key_id); //通过$priv_key_id私钥解密 生成$decrypted openssl_private_decrypt($crypted $decrypted $priv_key_id); //注意事项 我这边的获取公钥与私钥的文件是不对应的 //正常情况 获取公钥与私钥文件是一一对应的 这里我使用快钱的 //快钱给了私钥生成文件 对应的公钥生成文件在快钱那边 //快钱给了公钥生成文件 对应的私钥生成文件在快钱那边 //也就是缺少了一个公钥生成文件和一个私钥生成文件 //我始终没找到一个一一对应的私钥 公钥生成文件 如果你找的了发我一份 谢谢 // openssl_verify()方法验证签名是否正确(私钥加密生成的数据返回来 用对应的公钥验证) 只有这一种情况 // $signature公钥加密生成的数据 $data原始数据 成功返回 失败返回 错误返回 // $pub_key_id公钥 openssl_verify($data $signature $pub_key_id); //从内存中释放私钥或公钥 openssl_free_key($priv_key_id); openssl_free_key($pub_key_id); cha138/Article/program/PHP/201311/21239

相关参考

知识大全 解析php php

本篇文章是对php中php_openssldll的作用进行了详细的分析介绍需要的朋友参考下   一openssl简介数据加密是信息信息传输中的一个重要组成部分任何信息都以明文方式传输确实是个

知识大全 Oracle数据库中文件加密详解

Oracle数据库中文件加密详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Oracle数

知识大全 PHP使用DES进行加密与解密的方法

PHP使用DES进行加密与解密的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码如下: 

知识大全 简捷PHP数组赋值方法详解

简捷PHP数组赋值方法详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP数组还是比较常用

知识大全 深入PHP运行环境配置的详解

深入PHP运行环境配置的详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  运行环境配置:php

知识大全 详解PHP会话存储方式

详解PHP会话存储方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  先确认会话是否自动开启还是

知识大全 深入Nginx + PHP 缓存详解

深入Nginx+PHP缓存详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对Nginx中的

知识大全 PHP分页显示制作详解

PHP分页显示制作详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前言  分页显示是一种非常

知识大全 php curl基本操作详解

怎么使用cURL的基本方法?首先修改phpini文件的设置找到php_curldll取消下在的注释extension=php_curldll因为php默认是不开启cURL的 复制代码代码如下

知识大全 关闭PHP错误脚本提示的详解

关闭PHP错误脚本提示的详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最简单的办法就是直接