Maison > développement back-end > Problème PHP > Comment remplacer mcrypt en php

Comment remplacer mcrypt en php

藏色散人
Libérer: 2023-03-17 10:32:01
original
1993 Les gens l'ont consulté

Comment remplacer mcrypt par php : 1. Ouvrez le fichier php correspondant ; 2. Recherchez le code de cryptage et de décryptage d'origine ; 3. Utilisez les méthodes "openssl_encrypt" et "openssl_decrypt" pour le remplacer.

Comment remplacer mcrypt en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

php Comment remplacer mcrypt ?

Alternative de cryptage et de décryptage Mcrypt dans php7.4

Description du problème

Les fonctions mcrypt_encrypt et mcrypt_decrypt ont été abandonnées depuis PHP 7.1.0. Les fonctions mcrypt_encrypt et mcrypt_decrypt utilisées dans le projet d'origine (php5.6) sont en php7. 1 Lorsqu'il est utilisé dans des environnements ultérieurs, il vous indiquera que la fonction est introuvable et que vous devez utiliser openssl_encrypt et openssl_decrypt à la place.

Solution

************************Cryptage********************* **********

<?php
/**
 * 原加密方法方法
 * @param $str
 * @param string $key
 * @return string
 */
function des_encrypt($str, $key=&#39;uK9pFn56&#39;) {
        $block = mcrypt_get_block_size(&#39;des&#39;, &#39;ecb&#39;);
        $pad = $block - (strlen($str) % $block);
        $str .= str_repeat(chr($pad), $pad);
        return base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB));
}
$str = "123123";
var_dump(des_encrypt($str));  //加密结果:BKG4i231OB0=
Copier après la connexion
rrree

************************Décryptage************** **********

<?php
/**
 * openssl_encrypt加密替代方法
 * @param $str
 * @param string $key
 * @return string
 */
function des_encrypt($str, $key = &#39;uK9pFn56&#39;)
{
    return base64_encode(openssl_encrypt($str, "DES-ECB", $key, OPENSSL_RAW_DATA, ""));
}
$str = "123123";
var_dump(des_encrypt($str));  //加密结果:BKG4i231OB0=
Copier après la connexion
/**
 * 原解密方法
 * @param $str
 * @param string $key
 * @return string
 */
function des_decrypt($str, $key=&#39;uK9pFn56&#39;) {
        $str = mcrypt_decrypt(MCRYPT_DES, $key, base64_decode($str), MCRYPT_MODE_ECB);
        $len = strlen($str);
        $block = mcrypt_get_block_size(&#39;des&#39;, &#39;ecb&#39;);
        $pad = ord($str[$len - 1]);
        return substr($str, 0, $len - $pad);
}
var_dump(des_decrypt("BKG4i231OB0="));  //解密结果:123123
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal