Heim Backend-Entwicklung PHP-Tutorial php 加密解密种(含公钥)

php 加密解密种(含公钥)

Jun 13, 2016 am 10:49 AM
crypt encrypt key substr txt

php 加密解密类(含公钥)

?

<span><span><?php class  Crypt{ protected $key = "";    //公钥 private function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = ""; for ($i=0;$i<strlen($txt);$i++) { if ($ctr==strlen($encrypt_key)){ $ctr=0; } $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1); $ctr++; } return $tmp; } public function encrypt($txt,$key="") { if(empty($key)){ $key=$this->key; } srand((double)microtime()*1000000); $encrypt_key = md5(rand(0,32000)); $ctr=0; $tmp = ""; for ($i=0;$i<strlen($txt);$i++) { if ($ctr==strlen($encrypt_key)){ $ctr=0; } $tmp.= substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1)); $ctr++; } return $this->keyED($tmp,$key); } public function decrypt($txt,$key="") { if(empty($key)){ $key=$this->key; } $txt = $this->keyED($txt,$key); $tmp = ""; for ($i=0;$i<strlen($txt);$i++) { $md5 = substr($txt,$i,1); $i++; $tmp.= (substr($txt,$i,1) ^ $md5); } return $tmp; } public function setKey($key) { if(empty($key)){ return null; } $this->key=$key; } public function getKey() { return $this->key; } } $string = "http://www.52blogger.com"; $crypt= new Crypt(); $crypt->setKey("http://www.52blogger.com"); $enc_text = $crypt->encrypt($string,$crypt->getKey()); $dec_text = $crypt->decrypt($enc_text,$crypt->getKey()); echo "加密前 : $string <br/>\n"; echo </span>"加密后 : $enc_text <br/>\n</span>"; <span><span>echo </span>"解密后 : $dec_text \n</span>"; <span><span>?> </span></span>
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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Was ist Intel TXT? Was ist Intel TXT? Jun 11, 2023 pm 06:57 PM

IntelTXT ist eine von Intel eingeführte hardwaregestützte Sicherheitstechnologie, die die Integrität und Sicherheit des Servers während des Startvorgangs gewährleisten kann, indem ein geschützter Bereich zwischen CPU und BIOS eingerichtet wird. Der vollständige Name von TXT lautet TrustedExecutionTechnology, also Trusted Execution Technology. Einfach ausgedrückt handelt es sich bei TXT um eine Sicherheitstechnologie, die Schutz auf Hardwareebene bietet, um sicherzustellen, dass der Server beim Start nicht durch Schadprogramme oder nicht autorisierte Software verändert wurde. Dieses hier

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 konvertieren Sie HTML in TXT So konvertieren Sie HTML in TXT Aug 31, 2023 am 09:23 AM

Zu den Methoden zum Konvertieren von HTML in TXT gehören die Verwendung eines Texteditors, die Verwendung von Online-Konvertierungstools und die Verwendung von Python-Programmierung. Ausführliche Einführung: 1. Um eine HTML-Datei zu öffnen, können Sie einen beliebigen Texteditor wie Notepad, Sublime Text usw. verwenden. Um den Inhalt der gesamten HTML-Datei auszuwählen, können Sie die Tastenkombination Strg+A drücken oder die Maus ziehen Um die Auswahl auszuwählen und zu kopieren, können Sie den Inhalt kopieren, indem Sie die Tastenkombination Strg+C oder die Kopieroption im Kontextmenü drücken, eine neue TXT-Datei öffnen, denselben Texteditor verwenden usw.

Wie SpringBoot Redis-Schlüsseländerungsereignisse überwacht Wie SpringBoot Redis-Schlüsseländerungsereignisse überwacht May 26, 2023 pm 01:55 PM

1. Funktionsübersicht Mit der Keyspace-Benachrichtigung können Clients Ereignisse empfangen, die Rediskey-Änderungen auf irgendeine Weise ändern, indem sie Kanäle oder Muster abonnieren. Alle Befehle, die Tastenkombinationen ändern. Alle Schlüssel, die den Befehl LPUSHkeyvalue[Wert…] erhalten haben. Alle abgelaufenen Schlüssel in der Datenbankdatenbank. Ereignisse werden über die Abonnement- und Veröffentlichungsfunktionen (Pub/Sub) von Redis verteilt, sodass alle Clients, die Abonnement- und Veröffentlichungsfunktionen unterstützen, die Keyspace-Benachrichtigungsfunktion ohne Änderungen direkt verwenden können. Da die aktuellen Abonnement- und Veröffentlichungsfunktionen von Redis bei Ihrem Programm eine Fire-and-Forget-Strategie verfolgen

So konvertieren Sie CHM in TXT So konvertieren Sie CHM in TXT Oct 17, 2023 pm 02:42 PM

CHM wird mithilfe von Online-Konvertierungstools, Browser-Plug-Ins, Befehlszeilentools und Software von Drittanbietern in TXT konvertiert. Detaillierte Einführung: 1. Verwenden Sie das Online-Konvertierungstool, laden Sie einfach die CHM-Datei hoch, wählen Sie das TXT-Format aus und laden Sie dann die konvertierte TXT-Datei herunter. 2. Verwenden Sie das Browser-Plugin. Öffnen Sie nach der Installation des Plug-ins einfach CHM Datei im Browser und klicken Sie dann auf die Plug-in-Schaltfläche, um CHM-Dateien in das TXT-Format zu konvertieren. 3. Verwenden Sie Befehlszeilentools usw.

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 lösen Sie das Problem der Stapellöschung von Schlüsselwerten in Redis So lösen Sie das Problem der Stapellöschung von Schlüsselwerten in Redis May 31, 2023 am 08:59 AM

Aufgetretene Probleme: Während des Entwicklungsprozesses werden Sie auf Schlüssel stoßen, die nach bestimmten Regeln stapelweise gelöscht werden müssen, z. B. login_logID (ID ist eine Variable). Jetzt müssen Sie Daten wie „login_log*“ löschen, aber redis selbst verfügt nur über Befehlsschlüssel für Klassenschlüsselwerte, es gibt jedoch keinen Befehl zum Stapellöschen einer bestimmten Klasse. Lösung: Zuerst abfragen, dann löschen, xargs verwenden, um Parameter zu übergeben (xargs kann Pipe- oder Standardeingabedaten (stdin) in Befehlszeilenparameter umwandeln), zuerst die Abfrageanweisung ausführen und dann den abgefragten Schlüsselwert und die ursprünglichen del-Parameter entfernen. löschen. redis-cliKEYSkey* (Suchbedingung)|xargsr

FAQ für Pandas, die TXT-Dateien lesen FAQ für Pandas, die TXT-Dateien lesen Jan 19, 2024 am 09:19 AM

Pandas ist ein Datenanalysetool für Python, das sich besonders zum Bereinigen, Verarbeiten und Analysieren von Daten eignet. Während des Datenanalyseprozesses müssen wir häufig Datendateien in verschiedenen Formaten lesen, beispielsweise TXT-Dateien. Während des spezifischen Vorgangs können jedoch einige Probleme auftreten. In diesem Artikel werden Antworten auf häufige Fragen zum Lesen von TXT-Dateien mit Pandas gegeben und entsprechende Codebeispiele bereitgestellt. Frage 1: Wie lese ich eine TXT-Datei? TXT-Dateien können mit der Funktion read_csv() von Pandas gelesen werden. Das ist weil

See all articles