Heim Backend-Entwicklung PHP-Tutorial mcrypt 如何加/解密 ?_PHP

mcrypt 如何加/解密 ?_PHP

Jun 01, 2016 pm 12:34 PM
key 加密 如何 解密

查看 Phpinfo() 页面,看看你的 libmcrypt 是哪个版本的,如果 2.4.0 以上就不能使用你的那种方法。

而且 libmcrypt 的支持的加密算法,所依赖的 libmcrypt 的版本也是不一样的。

下面的是 2.4.0+ 的加解密的方法~

也是手册中的例子

<font size="2"><font face="Verdana">PHP代码:</font><hr></font><code><font color="#000000">
<font color="#0000bb"><br></font><font color="#007700">function </font><font color="#0000bb">make_seed</font><font color="#007700">() {
<br>    list(</font><font color="#0000bb">$usec</font><font color="#007700">, </font><font color="#0000bb">$sec</font><font color="#007700">) = </font><font color="#0000bb">explode</font><font color="#007700">(</font><font color="#dd0000">' '</font><font color="#007700">, </font><font color="#0000bb">microtime</font><font color="#007700">());
<br>    return(float) </font><font color="#0000bb">$sec </font><font color="#007700">+((float) </font><font color="#0000bb">$usec </font><font color="#007700">* </font><font color="#0000bb">100000</font><font color="#007700">);
<br>}
<br></font><font color="#0000bb">srand</font><font color="#007700">(</font><font color="#0000bb">make_seed</font><font color="#007700">());
<br>
<br></font><font color="#ff8000">/* 开启加密算法/ */
<br></font><font color="#0000bb">$td </font><font color="#007700">= </font><font color="#0000bb">mcrypt_module_open</font><font color="#007700">(</font><font color="#dd0000">'twofish'</font><font color="#007700">, </font><font color="#dd0000">''</font><font color="#007700">, </font><font color="#dd0000">'ecb'</font><font color="#007700">, </font><font color="#dd0000">''</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 建立 IV,并检测 key 的长度 */
<br></font><font color="#0000bb">$iv </font><font color="#007700">= </font><font color="#0000bb">mcrypt_create_iv</font><font color="#007700">(</font><font color="#0000bb">mcrypt_enc_get_iv_size</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">), </font><font color="#0000bb">MCRYPT_RAND</font><font color="#007700">);
<br></font><font color="#0000bb">$ks </font><font color="#007700">= </font><font color="#0000bb">mcrypt_enc_get_key_size</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 生成 key */
<br></font><font color="#0000bb">$key </font><font color="#007700">= </font><font color="#0000bb">substr</font><font color="#007700">(</font><font color="#0000bb">md5</font><font color="#007700">(</font><font color="#dd0000">'very secret key'</font><font color="#007700">), </font><font color="#0000bb">0</font><font color="#007700">, </font><font color="#0000bb">$ks</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 初始化加密程序 */
<br></font><font color="#0000bb">mcrypt_generic_init</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#0000bb">$key</font><font color="#007700">, </font><font color="#0000bb">$iv</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 加密, $encrypted 保存的是已经加密后的数据 */
<br></font><font color="#007700">print </font><font color="#0000bb">$encrypted </font><font color="#007700">= </font><font color="#0000bb">mcrypt_generic</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#dd0000">'This is very important data'</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 检测加密句柄 */
<br></font><font color="#0000bb">mcrypt_generic_deinit</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 初始化加密模块,用以解密 */
<br></font><font color="#0000bb">mcrypt_generic_init</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#0000bb">$key</font><font color="#007700">, </font><font color="#0000bb">$iv</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 解密 */
<br></font><font color="#0000bb">$decrypted </font><font color="#007700">= </font><font color="#0000bb">mdecrypt_generic</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">, </font><font color="#0000bb">$encrypted</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 检测解密句柄,并关闭模块 */
<br></font><font color="#0000bb">mcrypt_generic_deinit</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br></font><font color="#0000bb">mcrypt_module_close</font><font color="#007700">(</font><font color="#0000bb">$td</font><font color="#007700">);
<br>
<br></font><font color="#ff8000">/* 显示原始字符串 */
<br></font><font color="#007700">echo </font><font color="#0000bb">trim</font><font color="#007700">(</font><font color="#0000bb">$decrypted</font><font color="#007700">).</font><font color="#dd0000">"\n"</font><font color="#007700">;<br></font><font color="#0000bb"></font>
</font>
</code><hr>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Aufdecken der Ursachen des HTTP-Statuscodes 460 Aufdecken der Ursachen des HTTP-Statuscodes 460 Feb 19, 2024 pm 08:30 PM

Entschlüsselung des HTTP-Statuscodes 460: Warum tritt dieser Fehler auf? Einleitung: Im täglichen Netzwerkgebrauch stoßen wir häufig auf verschiedene Fehlermeldungen, einschließlich HTTP-Statuscodes. Diese Statuscodes sind ein vom HTTP-Protokoll definierter Mechanismus, der die Verarbeitung einer Anfrage anzeigt. Unter diesen Statuscodes gibt es einen relativ seltenen Fehlercode, nämlich 460. Dieser Artikel befasst sich mit diesem Fehlercode und erklärt, warum dieser Fehler auftritt. Definition des HTTP-Statuscodes 460: Zunächst müssen wir die Grundlagen des HTTP-Statuscodes verstehen

Was bedeutet das Identitätsattribut in SQL? Was bedeutet das Identitätsattribut in SQL? Feb 19, 2024 am 11:24 AM

Was ist Identität in SQL? In SQL ist Identität ein spezieller Datentyp, der zum Generieren automatisch inkrementierender Zahlen verwendet wird. Er wird häufig verwendet, um jede Datenzeile in einer Tabelle eindeutig zu identifizieren. Die Spalte „Identität“ wird oft in Verbindung mit der Primärschlüsselspalte verwendet, um sicherzustellen, dass jeder Datensatz eine eindeutige Kennung hat. In diesem Artikel wird die Verwendung von Identity detailliert beschrieben und es werden einige praktische Codebeispiele aufgeführt. Die grundlegende Möglichkeit, Identity zu verwenden, besteht darin, Identit beim Erstellen einer Tabelle zu verwenden.

So richten Sie die Verschlüsselung des Fotoalbums auf einem Apple-Mobiltelefon ein So richten Sie die Verschlüsselung des Fotoalbums auf einem Apple-Mobiltelefon ein Mar 02, 2024 pm 05:31 PM

In Apple-Handys können Benutzer Fotoalben nach ihren eigenen Bedürfnissen verschlüsseln. Einige Benutzer wissen nicht, wie sie es einrichten sollen. Sie können dem Memo die zu verschlüsselnden Bilder hinzufügen und das Memo dann sperren. Als nächstes stellt der Herausgeber die Methode zum Einrichten der Verschlüsselung mobiler Fotoalben für Benutzer vor. Schauen Sie sich das an. Apple-Handy-Tutorial So richten Sie die iPhone-Fotoalbum-Verschlüsselung ein A: Nachdem Sie dem Memo die Bilder hinzugefügt haben, die verschlüsselt werden müssen, gehen Sie zum Sperren des Memos, um eine detaillierte Einführung zu erhalten: 1. Öffnen Sie das Fotoalbum und wählen Sie das Bild aus, das verschlüsselt werden soll verschlüsselt, und klicken Sie dann unten auf [Hinzufügen zu]. 2. Wählen Sie [Zu Notizen hinzufügen]. 3. Geben Sie das Memo ein, suchen Sie das gerade erstellte Memo, geben Sie es ein und klicken Sie auf das Symbol [Senden] in der oberen rechten Ecke. 4. Klicken Sie unten auf [Gerät sperren].

So legen Sie ein Passwort für die Ordnerverschlüsselung ohne Komprimierung fest So legen Sie ein Passwort für die Ordnerverschlüsselung ohne Komprimierung fest Feb 20, 2024 pm 03:27 PM

Die Ordnerverschlüsselung ist eine gängige Datenschutzmethode, die den Inhalt eines Ordners verschlüsselt, sodass nur diejenigen auf die Dateien zugreifen können, die über das Entschlüsselungskennwort verfügen. Beim Verschlüsseln eines Ordners gibt es einige gängige Möglichkeiten, ein Passwort festzulegen, ohne die Datei zu komprimieren. Zunächst können wir die Verschlüsselungsfunktion des Betriebssystems nutzen, um ein Ordnerkennwort festzulegen. Für Windows-Benutzer können Sie es einrichten, indem Sie die folgenden Schritte ausführen: Wählen Sie den zu verschlüsselnden Ordner aus, klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie „Eigenschaften“.

Die nicht patchbare Sicherheitslücke im Yubico-Zwei-Faktor-Authentifizierungsschlüssel beeinträchtigt die Sicherheit der meisten Yubikey 5-, Security Key- und YubiHSM 2FA-Geräte Die nicht patchbare Sicherheitslücke im Yubico-Zwei-Faktor-Authentifizierungsschlüssel beeinträchtigt die Sicherheit der meisten Yubikey 5-, Security Key- und YubiHSM 2FA-Geräte Sep 04, 2024 pm 06:32 PM

Eine nicht patchbare Schwachstelle im Yubico-Zwei-Faktor-Authentifizierungsschlüssel hat die Sicherheit der meisten Yubikey 5-, Security Key- und YubiHSM 2FA-Geräte beeinträchtigt. Die Feitian A22 JavaCard und andere Geräte, die TPMs der Infineon SLB96xx-Serie verwenden, sind ebenfalls anfällig.Alle

So richten Sie die Wortentschlüsselung ein So richten Sie die Wortentschlüsselung ein Mar 20, 2024 pm 04:36 PM

In der heutigen Arbeitsumgebung wird das Bewusstsein aller für die Vertraulichkeit immer stärker, und bei der Verwendung von Software werden häufig Verschlüsselungsvorgänge durchgeführt, um Dateien zu schützen. Insbesondere bei wichtigen Dokumenten sollte das Bewusstsein für die Vertraulichkeit gestärkt werden und die Sicherheit der Dokumente jederzeit oberste Priorität haben. Ich weiß also nicht, wie gut jeder die Wortentschlüsselung versteht. Heute zeigen wir Ihnen den Prozess der Wortentschlüsselung anhand der folgenden Erklärung. Freunde, die Kenntnisse über die Wortentschlüsselung erlernen müssen, sollten den heutigen Kurs nicht verpassen. Zum Schutz der Datei ist zunächst ein Entschlüsselungsvorgang erforderlich, was bedeutet, dass die Datei als Dokument geschützt ist. Nachdem Sie dies mit einer Datei durchgeführt haben, wird beim erneuten Öffnen der Datei eine Eingabeaufforderung angezeigt. Um die Datei zu entschlüsseln, müssen Sie das Passwort eingeben, sodass Sie dies direkt tun können

Entschlüsselung der vom PyCharm-Interpreter hinzugefügten Tricks Entschlüsselung der vom PyCharm-Interpreter hinzugefügten Tricks Feb 21, 2024 pm 03:33 PM

Entschlüsselung der vom PyCharm-Interpreter hinzugefügten Tricks PyCharm ist die von vielen Python-Entwicklern bevorzugte integrierte Entwicklungsumgebung (IDE) und bietet viele leistungsstarke Funktionen zur Verbesserung der Entwicklungseffizienz. Unter anderem ist die Einstellung des Interpreters ein wichtiger Teil von PyCharm. Die korrekte Einstellung des Interpreters kann Entwicklern helfen, den Code reibungslos auszuführen und das Programm zu debuggen. In diesem Artikel werden einige Techniken zum Entschlüsseln der PyCharm-Interpreter-Ergänzungen vorgestellt und mit spezifischen Codebeispielen kombiniert, um zu zeigen, wie der Interpreter richtig konfiguriert wird. Hinzufügen und Auswählen von Dolmetschern in Py

So verschlüsseln Sie das komprimierte Paket mit der Methode „winrar-winrar-verschlüsseltes komprimiertes Paket'. So verschlüsseln Sie das komprimierte Paket mit der Methode „winrar-winrar-verschlüsseltes komprimiertes Paket'. Mar 23, 2024 pm 12:10 PM

Der Editor stellt Ihnen drei Methoden zur Verschlüsselung und Komprimierung vor: Methode 1: Verschlüsselung Die einfachste Verschlüsselungsmethode besteht darin, beim Verschlüsseln der Datei das Kennwort einzugeben, das Sie festlegen möchten, und die Verschlüsselung und Komprimierung sind abgeschlossen. Methode 2: Automatische Verschlüsselung Bei der gewöhnlichen Verschlüsselungsmethode müssen wir beim Verschlüsseln jeder Datei ein Passwort eingeben. Wenn Sie eine große Anzahl komprimierter Pakete verschlüsseln möchten und die Passwörter gleich sind, können wir in WinRAR die automatische Verschlüsselung festlegen und dann nur „Wann“. Beim normalen Komprimieren von Dateien fügt WinRAR jedem komprimierten Paket ein Passwort hinzu. Die Methode ist wie folgt: Öffnen Sie WinRAR, klicken Sie in der Einstellungsoberfläche auf Optionen-Einstellungen, wechseln Sie zu [Komprimierung], klicken Sie auf Standardkonfiguration erstellen – Kennwort festlegen. Geben Sie hier das Kennwort ein, das wir festlegen möchten, und klicken Sie auf OK, um die Einstellung abzuschließen. Wir benötigen nur korrigieren

See all articles