Home >Backend Development >PHP Tutorial >SSL encryption, decryption, verification, and signature methods under PHP (very simple), _PHP tutorial

SSL encryption, decryption, verification, and signature methods under PHP (very simple), _PHP tutorial

WBOY
WBOYOriginal
2016-07-12 09:02:45900browse

SSL encryption, decryption, verification, and signature methods under PHP (very simple),

Super simple, relying on OpenSSL extension, no more nonsense here, just provide the code

Signature:

function sign($data) {
 //读取私钥文件
 $priKey = file_get_contents('key/rsa_private_key.pem');
 
 //转换为openssl密钥,必须是没有经过pkcs8转换的私钥
 $res = openssl_get_privatekey($priKey);
 
 //调用openssl内置签名方法,生成签名$sign
 openssl_sign($data, $sign, $res);
 
 //释放资源
 openssl_free_key($res);
 
 return $sign;
}

Verification:

function verify($data, $sign) {
 //读取支付宝公钥文件
 $pubKey = file_get_contents('key/alipay_public_key.pem');
 
 //转换为openssl格式密钥
 $res = openssl_get_publickey($pubKey);
 
 //调用openssl内置方法验签,返回bool值
 $result = (bool)openssl_verify($data, $sign, $res);
  
 //释放资源
 openssl_free_key($res);
 
 return $result;

Decryption

function decrypt($content) {
 
 //读取商户私钥
 $priKey = file_get_contents('key/rsa_private_key.pem');
  
 //转换为openssl密钥,必须是没有经过pkcs8转换的私钥
 $res = openssl_get_privatekey($priKey);
 
 //声明明文字符串变量
 $result = '';
 
 //循环按照128位解密
 for($i = 0; $i < strlen($content)/128; $i++ ) {
  $data = substr($content, $i * 128, 128);
   
 //拆分开长度为128的字符串片段通过私钥进行解密,返回$decrypt解析后的明文
  openssl_private_decrypt($data, $decrypt, $res);
 
 //明文片段拼接
  $result .= $decrypt;
 }
 
 //释放资源
 openssl_free_key($res);
 
 //返回明文
 return $result;
}

I hope this article will help you learn PHP programming.

Articles you may be interested in:

  • Detailed explanation of PHP encryption and decryption string functions with source code download
  • PHP encapsulated string encryption and decryption function
  • thinkphp WeChat development (message encryption and decryption)
  • Detailed explanation of PHP encryption and decryption functions
  • PHP implementation of enhanced encryption and decryption class examples
  • How to use PHP rsa encryption and decryption
  • PHP encryption and decryption string summary
  • PHP encryption and decryption class instance analysis
  • php interface data encryption, decryption, verification signature
  • Detailed explanation of the use of php rsa encryption and decryption
  • php custom encryption and decryption program example
  • PHP encryption and decryption example analysis

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1084549.htmlTechArticleSSL encryption and decryption, verification, and signature methods under PHP (very simple), super simple, relying on OpenSSL extension, here Without further ado, let’s just give you the code signature: function sign($data)...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn