Maison  >  Article  >  développement back-end  >  Schéma de remplacement pour la méthode de cryptage et de décryptage AES mcrypt_module_open() en php7.1

Schéma de remplacement pour la méthode de cryptage et de décryptage AES mcrypt_module_open() en php7.1

黄舟
黄舟original
2017-10-18 09:19:431628parcourir

Cet article vous présente principalement les informations pertinentes sur le schéma de remplacement de la méthode de cryptage et de décryptage AES mcrypt_module_open() dans PHP 7.1. L'article le présente en détail à travers un exemple de code, qui a une certaine valeur d'apprentissage de référence pour les études ou le travail de chacun. .Amis qui en ont besoin, veuillez suivre l'éditeur pour apprendre ensemble.

Préface

L'extension mcrypt est obsolète depuis environ 10 ans et compliquée à utiliser. Il a donc été obsolète et remplacé par OpenSSL. À partir de PHP 7.2, il sera supprimé du code principal et déplacé vers PECL.

Le manuel PHP propose une alternative sur la page de migration 7.1, qui consiste à utiliser OpenSSL pour remplacer MCrypt.

Exemple de code


/**
 * [AesSecurity aes加密,支持PHP7.1]
 */
class AesSecurity
{
 /**
  * [encrypt aes加密]
  * @param [type]     $input [要加密的数据]
  * @param [type]     $key [加密key]
  * @return [type]       [加密后的数据]
  */
 public static function encrypt($input, $key)
 {
  $data = openssl_encrypt($input, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
  $data = base64_encode($data);
  return $data;
 }
 /**
  * [decrypt aes解密]
  * @param [type]     $sStr [要解密的数据]
  * @param [type]     $sKey [加密key]
  * @return [type]       [解密后的数据]
  */
 public static function decrypt($sStr, $sKey)
 {
  $decrypted = openssl_decrypt(base64_decode($sStr), 'AES-128-ECB', $sKey, OPENSSL_RAW_DATA);
  return $decrypted;
 }
}

Vous pourrez l'adapter selon vos besoins.

Résumé

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