ホームページ バックエンド開発 PHPチュートリアル PHP 暗号化クラスと復号化クラス

PHP 暗号化クラスと復号化クラス

Jun 20, 2016 pm 01:04 PM
crypt ctr encrypt key txt

PHP 暗号化および復号化クラスを共有します。これは、ユーザー登録時に検証用の電子メールを送信するときに使用される可能性があります。

コードは次のとおりです:

<p>class SysCrypt{</p>	private $crypt_key='http://www.scutephp.com';//密钥<br />	public function __construct($crypt_key){<br />		$this->crypt_key=$crypt_key;<br />	}<br />	public function encrypt($txt){<br />		srand((double)microtime()*1000000);<br />		$encrypt_key=md5(rand(0,32000));<br />		$ctr=0;<br />		$tmp='';<br />		for($i=0;$i<strlen($txt);$i++){<br />			$ctr=$ctr==strlen($encrypt_key)?0:$ctr;<br />			$tmp.=$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);<br />		}<br />		return base64_encode(self::__key($tmp,$this->crypt_key));<br />	}<br />	public function decrypt($txt){<br />		$txt=self::__key(base64_decode($txt),$this->crypt_key);<br />		$tmp='';<br />		for($i=0;$i<strlen($txt);$i++){<br />			$md5=$txt[$i];<br />			$tmp.=$txt[++$i]^$md5;<br />		}<br />		return $tmp;<br />	}<br />	private function __key($txt,$encrypt_key){<br />		$encrypt_key=md5($encrypt_key);<br />		$ctr=0;<br />		$tmp='';<br />		for($i=0;$i<strlen($txt);$i++){<br />			$ctr=$ctr==strlen($encrypt_key)?0:$ctr;<br />			$tmp.=$txt[$i]^$encrypt_key[$ctr++];<br />		}<br />		return $tmp;<br />	}<br />	public function __destruct(){<br />		$this->crypt_key=NULL;<br />	}<br /><p>}</p>
ログイン後にコピー

このクラスの使用方法:

<p>$sc=new SysCrypt('http://www.scutephp.com');</p>$text='yhm.1234@163.com';<br />$test1=$sc->encrypt($text);<br />echo '原文:',$text;<br />echo '<br />';<br />echo '密文:',$test1;<br />echo "<br/>";<br /><p>echo '解密:',</p><p>$sc->decrypt($test1);</p>
ログイン後にコピー

出力結果は次のようになります:

元のテキスト: yhm.1234@163.com

暗号文: VSQBZFRpVysCZFVlAWICYghKVGNQMwRkU31bZVFsV28=
復号化: yhm.1234 @163。 com


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

インテルTXTとは何ですか? インテルTXTとは何ですか? Jun 11, 2023 pm 06:57 PM

IntelTXT は、Intel が開発したハードウェア支援セキュリティ テクノロジであり、CPU と BIOS の間に保護されたスペースを確立することで、起動中のサーバーの整合性とセキュリティを確保できます。 TXT の正式名は TrustedExecutionTechnology、つまり Trusted Execution Technology です。簡単に言うと、TXT は、サーバーの起動時に悪意のあるプログラムや不正なソフトウェアによってサーバーが変更されていないことを保証するハードウェア レベルの保護を提供するセキュリティ テクノロジです。これです

htmlをtxtに変換する方法 htmlをtxtに変換する方法 Aug 31, 2023 am 09:23 AM

html を txt に変換する方法には、テキスト エディターの使用、オンライン変換ツールの使用、Python プログラミングの使用などがあります。詳細な紹介: 1. HTML ファイルを開くには、メモ帳、Sublime Text などのテキスト エディタを使用できます。HTML ファイル全体のコンテンツを選択するには、Ctrl+A ショートカット キーを押すか、マウスをドラッグします。コンテンツをコピーするには、Ctrl+C ショートカットを押すか、右クリック メニューのコピー オプションを使用するか、新しい TXT ファイルを開くか、同じテキスト エディタを使用するなどします。

SQL の ID 属性は何を意味しますか? SQL の ID 属性は何を意味しますか? Feb 19, 2024 am 11:24 AM

SQL における Identity とは何ですか? 具体的なコード例が必要です。SQL では、Identity は自動インクリメント数値の生成に使用される特別なデータ型です。多くの場合、テーブル内のデータの各行を一意に識別するために使用されます。 Identity 列は、各レコードが一意の識別子を持つようにするために、主キー列と組み合わせてよく使用されます。この記事では、Identity の使用方法といくつかの実用的なコード例について詳しく説明します。 Identity の基本的な使用方法は、テーブルを作成するときに Identity を使用することです。

SpringBoot が Redis キー変更イベントを監視する方法 SpringBoot が Redis キー変更イベントを監視する方法 May 26, 2023 pm 01:55 PM

1. 機能の概要 キースペース通知を使用すると、クライアントはチャネルまたはパターンをサブスクライブすることで、何らかの方法で Rediskey の変更を変更するイベントを受信できます。キーのキーを変更するすべてのコマンド。 LPUSHkeyvalue[value…] コマンドを受信したすべてのキー。 db データベース内の期限切れのキーすべて。イベントは Redis のサブスクリプションおよび公開機能 (pub/sub) を通じて配布されるため、サブスクリプションおよび公開機能をサポートするすべてのクライアントは、変更を加えることなくキースペース通知機能を直接使用できます。 Redis の現在のサブスクリプション機能と公開機能は fireandforget 戦略を採用しているため、プログラムが

chmをtxtに変換する方法 chmをtxtに変換する方法 Oct 17, 2023 pm 02:42 PM

chm は、オンライン変換ツール、ブラウザ プラグイン、コマンド ライン ツール、サードパーティ ソフトウェアを使用して txt に変換されます。詳細な紹介: 1. オンライン変換ツールを使用し、CHM ファイルをアップロードし、TXT 形式を選択して、変換された TXT ファイルをダウンロードします; 2. ブラウザ プラグインを使用し、プラグインをインストールした後、CHM を開くだけですブラウザでファイルを開き、プラグイン ボタンをクリックして CHM ファイルを TXT 形式に変換します; 3. コマンド ライン ツールなどを使用します。

Redisでキー値が一括削除される問題を解決する方法 Redisでキー値が一括削除される問題を解決する方法 May 31, 2023 am 08:59 AM

発生した問題: 開発プロセス中に、login_logID (ID は変数) など、特定のルールに従ってバッチで削除する必要があるキーが発生します。ここで、「login_log*」などのデータを削除する必要がありますが、redis 自体はバッチクエリのみあり、クラスキー値に対するコマンドキーはありますが、特定のクラスを一括削除するコマンドはありません。解決策: 最初にクエリを実行してから削除し、xargs を使用してパラメータを渡します (xargs はパイプまたは標準入力 (stdin) データをコマンド ライン パラメータに変換できます)。最初にクエリ ステートメントを実行してから、クエリされたキー値と元の del パラメータを削除します。消去。 redis-cliKEYSkey* (検索条件)|xargsr

パッチ不可能な Yubico 2 要素認証キーの脆弱性により、ほとんどの Yubikey 5、セキュリティ キー、YubiHSM 2FA デバイスのセキュリティが侵害される パッチ不可能な Yubico 2 要素認証キーの脆弱性により、ほとんどの Yubikey 5、セキュリティ キー、YubiHSM 2FA デバイスのセキュリティが侵害される Sep 04, 2024 pm 06:32 PM

パッチ不可能な Yubico の 2 要素認証キーの脆弱性により、ほとんどの Yubikey 5、セキュリティ キー、および YubiHSM 2FA デバイスのセキュリティが破られています。 Feitian A22 JavaCard および Infineon SLB96xx シリーズ TPM を使用するその他のデバイスも脆弱です。すべて

txt ファイルを読み取るパンダに関する FAQ txt ファイルを読み取るパンダに関する FAQ Jan 19, 2024 am 09:19 AM

Pandas は Python 用のデータ分析ツールであり、データのクリーニング、処理、分析に特に適しています。データ分析プロセスでは、Txt ファイルなどのさまざまな形式のデータ ファイルを読み取る必要があることがよくあります。ただし、特定の操作中にいくつかの問題が発生する場合があります。この記事では、pandas での txt ファイルの読み取りに関するよくある質問への回答と、対応するコード例を紹介します。質問 1: txt ファイルを読み取るにはどうすればよいですか? txt ファイルは、pandas の read_csv() 関数を使用して読み取ることができます。それの訳は

See all articles