php 证书加密 和证书解密方法

//证书加密需要传的参数  字符串  证书地址  证书密码!

function sign($data,$pfxpath,$pfxpwd) {
$certs = array();
openssl_pkcs12_read(file_get_contents($pfxpath), $certs, $pfxpwd); // 其中password为你的证书密码
if (!$certs) {
return;
}
$signature = ‘‘;
openssl_sign($data, $signature, $certs[‘pkey‘]);
return base64_encode($signature);
}

//证书解密字符串  ,编码加密的字符串

function verify($data, $signature) {
$certs = array();
openssl_pkcs12_read(file_get_contents(‘./test.pfx‘), $certs, ‘hzsmk‘);
if(!$certs) {
return;
}
$result = openssl_verify($data, base64_decode($signature), $certs[‘cert‘]); // openssl_verify验签成功返回1,失败0,错误返回-1
return $result;
}

原文地址:https://www.cnblogs.com/oy123/p/9540344.html

时间: 2024-10-28 16:15:19

php 证书加密 和证书解密方法的相关文章

使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据

本文全部源代码下载:/Files/chnking/EncryptLongData.rar 一.  使用证书结合对称加密算法加.解密长数据 上一章节讨论了如何使用RSA证书加密数据,文中提到:“Dotnet的RSA实现有个特点,它必须要在明文中添加一些随机数,所以明文不能把128字节占满,实际测试,明文最多为117字节,留下的空间用来填充随机数”.也就是说对于1024位密钥的RSA来说,一次只能加密128字节的数据,对于Dotnet的RSA实现更是只能加密117个字节的数据. 这就引出一个问题,超

前后端(支持app)RSA加密通信证书生成方法汇编

最近一个项目,处于安全上的考虑,前后端需要使用安全证书加密通信,涉及ios/android-后台交互.在测试环境上没有正式的CA证书,使用自签证书开发. 下面把生成4套环境的自签证书过程mark下,如有需要,可参考: 以下命令的执行环境均为windows-cmd界面(前提需安装jdk,使用jdk自带的keytool工具) 1.生成jks.csr证书(这俩证书暂时没用): keytool -genkey -alias *.test.com -sigalg SHA1withRSA -keyalg R

SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)

ENCRYPTBYASYMKEY() --非对称密钥 ENCRYPTBYCERT()   --证书加密 ENCRYPTBYKEY()   --对称密钥 ENCRYPTBYPASSPHRASE()  --通行短语(PassPhrase)加密 --非对称密钥包含数据库级的内部公钥和私钥,它可以用来加密和解密SQL Server数据库中的数据,它可以从外部文件或程序集中导入,也可以在SQL Server数据库中生成.它不像证书,不可以备份到文件.这意味着一旦在SQL Server中创建了它,没有非常简

使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据

一.  使用RSA证书加.解密敏感数据 X.509证书标准支持三种不对称加密算法:RSA, DSA, Diffie-Hellman algorithms.最常用的是RSA算法.所以本文就以前面章节使用makecert工具生成的生成的MyTestCert证书进行加密解密,这个证书具有RSA算法1024位的密钥对. Figure 12. RSA加密解密过程 1. 生成证书.分发证书 证书使用前面“使用makecert工具获得”章节生成的MyTestCert,当然也可以是从商业CA获得的证书. 你获得

使用X.509数字证书加密解密实务(一)-- 证书的获得和管理

一.       获得证书 1.        从CA获得 2.        从windows2003证书服务中获得 3.        使用makecert工具获得 二.       证书的保存 1.        保存在证书存储区 2.        以文件形式保存 2.1.       带有私钥的证书 2.2.       二进制编码的证书 2.3.       Base64编码的证书 3.        存储区中的证书跟证书文件相互转换 3.1.       使用工具相互转换 3.1.

windows下OpenSSL加密证书安装步骤与使用方法

OpenSSL加密证书一般用于签名认证,含私钥和公钥.在Linux系统中,OpenSSL一般是已经安装好了,可以直接使用.而在Windows系统中,是需要安装使用的. 最近在使用支付平台时,用到了OpenSSL,鉴于此分享给大家,步骤如下: 安装OpenSSL 1.前往官方指定下载地址http://slproweb.com/products/Win32OpenSSL.html下载所需版本 2.一般安装路径在C盘根目录,也可自行选择 3.安装过程中会出现生成证书所存放的路径,可默认到bin,也可自

签名、加密、证书的基本原理和理解

最近开始接触后端PHP开发,里面涉及到的签名.加密.证书等概念弄得自己头晕眼花,最近查看了相关资料,下面把自己的理解写下来,有不对的地方,还请多指点指点. 数据传输安全的要满足的要求: 消息的发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密). 消息的接收方可以确定消息是由谁发送的(消息的接收方可以确定消息的发送方). 消息的接收方可以确定消息在途中没有被篡改过(必须确认消息的完整性). 对称加密 网络的数据传输从发送方发出到接收方接收到,要经过数个节点才能

TLS协议扫盲(握手,非对称加密,证书,电子签名等)

想学习TLS协议最好的方法应该是去看RFC,但如果对安全传输协议没有一些基本认识的人很难一上来就读懂RFC里面的种种细节和设计原则,所以这里为了能够进一步去弄懂TLS协议,把一些基本的知识放在这里,算是扫下盲. 1. TLS与SSL的区别:SSL是TLS的前身,TLS做出了一些使其更安全的改进.事实上,在客户端向服务器发起连接请求时,会附上的所支持的协议版本:这里的协议版本标识了是SSL或TLS(3.1为TLS) 2. TLS在真正传输过程中使用对称加密,因为对称加密效率更高.而对称加密所使用的

RSA加密,以及证书加密

简单的加密:https://blog.csdn.net/qq_32523587/article/details/79092364 生成证书:https://blog.csdn.net/u012191627/article/details/80990066 证书加密方式:代码中,不写了 对于超长的字符串加密失败处理 来自台湾的一篇博客,ok的 :https://www.itread01.com/p/1452444.html 对超长的字符串,使用分段加密, 分段解密的方式 加解密 这里可以 公钥加密