ホームページ > php教程 > php手册 > Mcrypt 拡張ライブラリで暗号化および復号化する方法

Mcrypt 拡張ライブラリで暗号化および復号化する方法

WBOY
リリース: 2016-06-21 08:57:45
オリジナル
1167 人が閲覧しました

Mcrypt 2.4.7 は強力な暗号化アルゴリズム拡張ライブラリであり、次のアルゴリズムを含む 22 のアルゴリズムが含まれています:

以下は引用内容です:
以下为引用的内容:
Blowfish RC2 Safer-sk64 xtea
Cast-256 RC4 Safer-sk128
DES RC4-iv Serpent
Enigma Rijndael-128 Threeway
Gost Rijndael-192 TripleDES
LOKI97 Rijndael-256 Twofish
PanamaSaferplus Wake
Blowfish RC2 Safer-sk64 xtea

 Cast-256 RC4 Safer-sk128
DES RC4-iv Serpent
Enigma Rijndael-128 Threeway
Gost Rijndael-192 TripleDES
 LOKI97 Rijndael-256 Twofish

PanamaSaferplus ウェイク
以下为引用的内容:
               gunzipmcrypt-x.x.x.tar.gz
tar -xvfmcrypt-x.x.x.tar
./configure --disable-posix-threads
make
make install
cd to your PHP directory.
./configure -with-mcrypt=[dir] [--other-configuration-directives]
make
make install
Mcrypt をインストールするにはどうすればよいですか?

Mcrypt は標準の PHP ソフトウェア パッケージには含まれていないため、ダウンロードする必要があります。ダウンロード アドレスは ftp://argeas.cs-net.gr/pub/unix/mcrypt/ です。ダウンロード後、次のようにコンパイルし、PHP で拡張します。

Mcrypt ソフトウェア パッケージをダウンロードします。

要件と PHP のインストールに従ってサーバーに適切な変更を加えます。

Mcrypt 拡張ライブラリを使用してデータを暗号化するにはどうすればよいですか?
引用内容は次のとおりです:
tar -xvfmcrypt-x.x.x.tar
 ./configure --disable-posix-threads
make
make install
以下为引用的内容:
<?php
// Designate string to be encrypted
$string = "Applied Cryptography, by Bruce Schneier, is
a wonderful cryptography reference.";

// Encryption/decryption key
$key = "Four score and twenty years ago";

// Encryption Algorithm
$cipher_alg = MCRYPT_RIJNDAEL_128;

// Create the initialization vector for added security.
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,
MCRYPT_MODE_ECB), MCRYPT_RAND);

// Output original string
print "Original string: $string
";

// Encrypt $string
$encrypted_string = mcrypt_encrypt($cipher_alg, $key,
$string, MCRYPT_MODE_CBC, $iv);

// Convert to hexadecimal and output to browser
print "Encrypted string: ".bin2hex($encrypted_string)."

";
$decrypted_string = mcrypt_decrypt($cipher_alg, $key,
$encrypted_string, MCRYPT_MODE_CBC, $iv);

print "Decrypted string: $decrypted_string";
?>
を PHP ディレクトリに td>
以下为引用的内容:
Original string: Applied Cryptography, by Bruce Schneier, is a wonderful cryptography reference.

Encrypted string: 02a7c58b1ebd22a9523468694b091e60411cc4dea8652bb8072 34fa06bbfb20e71ecf525f29df58e28f3d9bf541f7ebcecf62b c89fde4d8e7ba1e6cc9ea24850478c11742f5cfa1d23fe22fe8 bfbab5e

Decrypted string: Applied Cryptography, by Bruce Schneier, is a wonderful cryptography reference.
まず、Mcrypt 拡張ライブラリを使用してデータを暗号化する方法と、それを使用して復号化する方法を紹介します。次のコードは、最初にデータを暗号化し、次に暗号化されたデータをブラウザ上に表示し、暗号化されたデータを元の文字列に復元して、ブラウザ上に表示します。 Mcrypt を使用してデータを暗号化および復号化します ; >
以下は引用内容です:<?php   // 暗号化する文字列を指定 $string = "Applied Cryptography、Bruce Schneier は、素晴らしい暗号化リファレンスです。";  // 暗号化/復号化キー $key = "4 スコアと 20 年前"; // 暗号化アルゴリズム $cipher_alg = MCRYPT_RIJNDAEL_128; // セキュリティを強化するための初期化ベクトルを作成します。 $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg, MCRYPT_MODE_ECB) 、 MCRYPT_RAND ); // 元の文字列を出力 print "元の文字列: $string "; $ string $encrypted_string = mcrypt_encrypt($cipher_alg, $key, $string, MCRYPT_MODE_CBC, $iv); 16 進数でブラウザに出力します。 print "暗号化された文字列: ".bin2hex($encrypted_string)." " $decrypted_string = mcrypt_decrypt($cipher_alg, $ key , $encrypted_string, MCRYPT_MODE_CBC, $iv); print "復号化された文字列: $decrypted_string";
上記のスクリプトを実行すると、次の出力が生成されます:
以下は引用された内容です:元の文字列: Applied Cryptography、Bruce 著Schneier は、素晴らしい暗号化リファレンスです。 1f7ebcecf62b c89fde4d8e7ba1e6cc9ea24850478c11742f5cfa1d23fe22fe8 bfbab5e 復号化された文字列: Applied Cryptography (Bruce Schneier 著) は、素晴らしい暗号化リファレンスです。 .

上記のコード内の 2 つの最も典型的な関数は mcrypt_encrypt() と mcrypt_decrypt() であり、それらの用途は明らかです。 「Telegraph Codebook」モードを使用しました。Mcrypt にはいくつかの暗号化方式が用意されており、各暗号化方式にはパスワードのセキュリティに影響を与える可能性のある特定の文字があるため、各モードを理解する必要があります。暗号化システムに慣れていない読者は、各情報を互いに独立させることができる mcrypt_create_iv() 関数に興味があるかもしれません。この関数が作成する初期化ベクトル (したがって iv) について説明します。 すべてのモードでこの初期化変数が必要なわけではありませんが、この変数が必要なモードで提供されていない場合、PHP は警告メッセージを発行します。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート