mcrypt を有効にした暗号化と復号化プロセスの詳細な分析_PHP チュートリアル
Mcrypt 拡張ライブラリは、暗号化および復号化機能を実現できます。つまり、平文を暗号化するだけでなく、暗号文を復元することもできます。
1. PHP 暗号化拡張ライブラリ Mcrypt のインストール
標準的な PHP インストール プロセスでは Mrcypt はインストールされませんが、PHP のメイン ディレクトリには libmcrypt.dll および libmhash.dll ファイルが含まれています (libmhash.dll は Mhash 拡張ライブラリです。ここで一緒にインストールされます)。まず、これら 2 つのファイルをシステム ディレクトリ 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 searplus wake bullfish-compat des rijndael-256 serpent xtea bullfish enigma rc2 Triples
Mcrypt でサポートされている暗号化モードは次のとおりです: cbc cfb ctr ecb ncfb nofb ofb stream
これらのアルゴリズムとモードは、次の Mcrypt アプリケーションの例に示すように、アプリケーション内で定数で表す必要があります。
DES アルゴリズムは MCRYPT_DES で表されます。 MCRYPT_MODE_ECB による;
3. PHP 暗号化拡張ライブラリ Mcrypt アプリケーション
まず Mcrypt のワークフローを理解するために例を見てから、いくつかのプロセスで使用される関数を見てみましょう:
コードをコピーします
$mode = MCRYPT_MODE_ECB;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$)モード),MCRYPT_RAN D);
echo "元のテキスト: ".$str."
";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$mode,$iv); echo "暗号化されたコンテンツは:"。 $str_encrypt."
";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$mode,$iv);
";
実行結果:
原文:私は李雲です暗号化された内容は:B @鴹�=(私はZ%を主張します復号された内容:私は李雲です
関数 mcrypt_get_iv_size($cipher,$modes) は、初期化ベクトルのサイズを返します。パラメーター cipher と mode は、それぞれアルゴリズムと暗号化モードを参照します。
<3>
暗号化関数 $str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); この関数の 5 つのパラメータは次のとおりです: cipher—暗号化アルゴリズム、key—key 、data(str)—暗号化する必要があるデータ、mode—アルゴリズムモード、iv—初期化ベクトル<4>
復号化関数 mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); この関数と暗号化関数のパラメータはほぼ同じです。つまり、データが異なります。データを復号化する必要があるのは、元のデータ $str ではなく、データ $str_encrypt です。//マニュアルに書く:
コードをコピーする
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
//暗号化パスワード:
$key = "123qwe.019860905061x";
//元のコンテンツ(暗号化されていない):
$text = "My名前はアダム・リーです! ";
echo $text. "
n";
//暗号化されたコンテンツ:
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo $crypttext . "n< ;br>";
//暗号化されたコンテンツを復号化します:
$str_decrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
echo $str_decrypt;
以下は暗号化/復号化リクエストの例です:
$request_params = array(
'controller' => 'todo',
'action ' => '読み取り',
'ユーザー名' => "bl",
'ユーザーパス' => "a1"
);
$private_key = "28e336ac6c9423d946ba02d19c6a2632";
//リクエストの暗号化$enc_request =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $private_key, json_encode($request_params), MCRYPT_MODE_ECB));
echo "CRYPT:".$enc_request."
";
$params = json_decode(trim(mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $private_key,base64_decode($enc_request), MCRYPT_MODE_ECB )),true);
echo "ENCRYPT:
";
var_dump($params);
注: 暗号化関数と復号化関数のパラメータ cipher、key、mode は 1 対 1 に対応している必要があり、そうでない場合はデータを復元できません。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP 関数の機能を拡張するには、拡張機能とサードパーティのモジュールを使用できます。拡張機能は、pecl パッケージ マネージャーを通じてインストールおよび有効化できる追加の関数とクラスを提供します。サードパーティ モジュールは特定の機能を提供し、Composer パッケージ マネージャーを通じてインストールできます。実際の例には、拡張機能を使用して複雑な JSON データを解析したり、モジュールを使用してデータを検証したりすることが含まれます。

Huawei 携帯電話に WeChat クローン機能を実装する方法 ソーシャル ソフトウェアの人気と人々のプライバシーとセキュリティの重視に伴い、WeChat クローン機能は徐々に人々の注目を集めるようになりました。 WeChat クローン機能を使用すると、ユーザーは同じ携帯電話で複数の WeChat アカウントに同時にログインできるため、管理と使用が容易になります。 Huawei携帯電話にWeChatクローン機能を実装するのは難しくなく、次の手順に従うだけです。ステップ 1: 携帯電話システムのバージョンと WeChat のバージョンが要件を満たしていることを確認する まず、Huawei 携帯電話システムのバージョンと WeChat アプリが最新バージョンに更新されていることを確認します。

【PHPにおけるミッドポイントの意味と使い方の分析】 PHPでは、ミッドポイント(.)は2つの文字列やオブジェクトのプロパティやメソッドを接続するためによく使われる演算子です。この記事では、PHP における中間点の意味と使用法を詳しく掘り下げ、具体的なコード例を示して説明します。 1. 文字列中間点演算子の接続 PHP での最も一般的な使用法は、2 つの文字列を接続することです。 2 つの文字列の間に . を置くと、それらをつなぎ合わせて新しい文字列を形成できます。 $string1=&qu

Win11 の新機能の分析: Microsoft アカウントへのログインをスキップする方法 Windows 11 のリリースにより、多くのユーザーは、Windows 11 がより便利で新しい機能をもたらしたことに気づきました。ただし、ユーザーによっては、自分のシステムが Microsoft アカウントに関連付けられることを好まず、この手順をスキップしたい場合があります。この記事では、ユーザーが Windows 11 で Microsoft アカウントへのログインをスキップし、よりプライベートで自律的なエクスペリエンスを実現するのに役立ついくつかの方法を紹介します。まず、一部のユーザーが Microsoft アカウントにログインすることに抵抗がある理由を理解しましょう。一方で、一部のユーザーは次のことを心配しています。

「VSCode について: このツールは何に使用されますか?」 》初心者でも経験豊富な開発者でも、プログラマーとしてはコード編集ツールを使わずにはいられません。数ある編集ツールの中でも、Visual Studio Code (略して VSCode) は、オープンソースで軽量かつ強力なコード エディターとして開発者の間で非常に人気があります。では、VSCode は正確に何に使用されるのでしょうか?この記事では、VSCode の機能と使用法を詳しく説明し、読者に役立つ具体的なコード例を提供します。

GateToken(GT)通貨とは何ですか? GT (GateToken) は、GateChain チェーンのネイティブ資産であり、Gate.io の公式プラットフォーム通貨です。 GT コインの価値は、Gate.io および GateChain エコロジーの発展と密接に関連しています。ゲートチェーンとは何ですか? GateChain は 2018 年に誕生し、Gate.io によって開始された新世代の高性能パブリック チェーンです。 GateChain は、ユーザーのオンチェーン資産のセキュリティを保護し、便利な分散トランザクション サービスを提供することに重点を置いています。 GateChain の目標は、エンタープライズレベルの安全で効率的な分散型デジタル資産ストレージ、配信、およびトランザクションのエコシステムを構築することです。ゲートチェーンにはオリジナルがあります

PHP 関数の戻り値の型は、各関数の戻り値の型を明確に指定する型記述構文として表現できます。戻り値の型を理解することは、PHP コア エンジンと互換性のある拡張機能を作成し、予期しない変換を回避し、効率を向上させ、コードの可読性を高めるために重要です。具体的には、拡張関数は戻り値の型を定義できるため、PHP エンジンはその型に基づいてコードの実行を最適化し、開発者が戻り値を明示的に処理できるようになります。実際には、拡張関数は PHP オブジェクトを返すことができ、PHP コードは戻り値の型に従って返された結果を処理できます。

モバイル Hejiaqin APP は、家族管理、インテリジェント制御、家族コミュニケーションを統合する包括的なソフトウェアです。インテリジェントで便利な操作を通じて、ユーザーにとって快適でインテリジェントで調和のとれた家庭環境を構築することを目指しています。このアプリケーションを通じて、ユーザーは自宅のさまざまなスマートデバイスを簡単に制御および管理し、スマートライフがもたらす利便性を享受できます。では、モバイル アプリと Jiaqin アプリの具体的な機能は何ですか? 詳細を知りたいユーザーは、この記事に従って詳細を確認してください。 Mobile and Jiaqin アプリの使い方チュートリアル: Mobile and Jiaqin アプリの用途は何ですか? IT の知識がなくても、簡単にネットワークを管理できます。 3. 自宅から何千マイルも離れていても、家に帰って視聴できる 4. 豊富な機能で、スマートライフを楽しむ
