Maison  >  Article  >  développement back-end  >  PHP implémente le cryptage, le décryptage, la vérification et la signature SSL

PHP implémente le cryptage, le décryptage, la vérification et la signature SSL

墨辰丷
墨辰丷original
2018-05-18 11:46:352468parcourir

Cet article présente principalement la méthode de PHP pour implémenter le cryptage, le décryptage, la vérification et la signature SSL. Il analyse la signature, le cryptage, le décryptage, la vérification et d'autres techniques de fonctionnement de PHP basées sur les fonctions liées à openssl sous forme d'exemples. peut s'y référer

Les détails sont les suivants :

1. signer le code de 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;
}

2. . vérifiez le code de vérification :

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;
}

3. >

Connexe recommandé :

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;
}

Compilation des problèmes de chiffrement OpenSSL dans les astuces PHP_php

Explication détaillée de la façon dont PHP utilise des exemples de chiffrement et de décryptage openssl


Résumé sur l'utilisation de l'extension de chiffrement openssl de PHP (recommandé)



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn