分享PHP加密扩展库Mcrypt安装及应用技巧_PHP教程
其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
1.PHP加密扩展库Mcrypt安装
在标准的PHP安装过程中并没有把Mrcypt安装上,但PHP的主目录下包含了libmcrypt.dll和libmhash.dll文件 (libmhash.dll是Mhash扩展库,这里可以一起装上)。首先,将这两个文件复制到系统目录windowssystem32下,然后在 PHP.ini文件中按Ctrl+F快捷键跳出查找框,并找到;extension=php-mcrypt.dll和; extension=php_mhash.dll这两个语句,接着将前面的“;”去掉;最后,保存并重启Apache服务器即可生效。
2.PHP加密扩展库Mcrypt的算法和加密模式
Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示,结果如下:
Mcrypt支持的算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Mcrypt支持的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream
这些算法和模式在应用中要以常量来表示,写的时候加上前缀MCRYPT_和MCRYPT_来表示,如下面Mcrypt应用的例子:
DES算法表示为MCRYPT_DES;
ECB模式表示为MCRYPT_MODE_ECB;
3.PHP加密扩展库Mcrypt应用
先看一个例子,了解Mcrypt的工作流程,再来看看部分流程使用的函数:
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><span> ?php </span></span></span></li> <li> <span>$</span><span class="attribute">str</span><span> = </span><span class="attribute-value">"我的名字是?一般人我不告诉他!"</span><span>; </span> </li> <li class="alt"><span>//加密内容 </span></li> <li> <span>$</span><span class="attribute">key</span><span> = </span><span class="attribute-value">"key:111"</span><span>; </span> </li> <li class="alt"><span>//密钥 </span></li> <li> <span>$</span><span class="attribute">cipher</span><span> = </span><span class="attribute-value">MCRYPT_DES</span><span>; </span> </li> <li class="alt"><span>//密码类型 </span></li> <li> <span>$</span><span class="attribute">modes</span><span> = </span><span class="attribute-value">MCRYPT_MODE_ECB</span><span>; </span> </li> <li class="alt"><span>//密码模式 </span></li> <li> <span>$</span><span class="attribute">iv</span><span> = </span><span class="attribute-value">mcrypt_create_iv</span><span>(mcrypt_get_iv_size<br>($cipher,$modes),MCRYPT_RAND);//初始化向量 </span> </li> <li class="alt"> <span>echo "加密明文:".$str."</span><span class="tag"><span class="tag-name">p</span><span class="tag">></span><span>"; </span></span> </li> <li> <span>$</span><span class="attribute">str_encrypt</span><span> = </span><span class="attribute-value">mcrypt_encrypt</span><span>($cipher,<br>$key,$str,$modes,$iv); </span> </li> <li class="alt"><span>//加密函数 </span></li> <li> <span>echo "加密密文:".$str_encrypt." </span><span class="tag"><span class="tag-name">p</span><span class="tag">></span><span>"; </span></span> </li> <li class="alt"> <span>$</span><span class="attribute">str_decrypt</span><span> = </span><span class="attribute-value">mcrypt_decrypt</span><span>($cipher,<br>$key,$str_encrypt,$modes,$iv); </span> </li> <li><span>//解密函数 </span></li> <li class="alt"><span>echo "还原:".$str_decrypt; </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
运行结果:
加密明文:我的名字是?一般人我不告诉他!
加密密文: 锍盌?]鸴?q攦軄L 笑 郺葄"簻 黙
还原:我的名字是?一般人我不告诉他!
由例子中可看到,使用PHP加密扩展库Mcrypt对数据加密和解密之前,首先创建了一个初始化向量,简称为iv。由 $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);可见创建初始化向 量需要两个参数:size指定了iv的大小;source为iv的源,其中值MCRYPT_RAND为系统随机数。
函数mcrypt_get_iv_size($cipher,$modes)返回初始化向量大小,参数cipher和mode分别指算法和加 密模式。
加密函数$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); 该函数的5个参数分 别如下:cipher——加密算法、key——密钥、data(str)——需要加密的数据、mode——算法模式、 iv——初始化向量
解密函数 mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); 该函数和加密函数的参数几乎 一样,唯一不同的是data,也就是说data为需要解密的数据$str_encrypt,而不是原始数据$str。
注:加密和解密函数中的参数cipher、key和mode必须一一对应,否则数据不能被还原。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Gate.io est un échange de crypto-monnaie populaire que les utilisateurs peuvent utiliser en téléchargeant son package d'installation et en l'installant sur leurs appareils. Les étapes pour obtenir le package d'installation sont les suivantes: Visitez le site officiel de Gate.io, cliquez sur "Télécharger", sélectionnez le système d'exploitation correspondant (Windows, Mac ou Linux) et téléchargez le package d'installation sur votre ordinateur. Il est recommandé de désactiver temporairement les logiciels antivirus ou le pare-feu pendant l'installation pour assurer une installation fluide. Une fois terminé, l'utilisateur doit créer un compte Gate.io pour commencer à l'utiliser.

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Les dix premiers échanges du cercle des devises sont classés par volume de négociation: Binance ouyihuobi ftxkrakencoinbasegeminibitfinexbybitgate.io
