ホームページ >バックエンド開発 >PHPチュートリアル >PHP は中国語と英語の暗号化コードと復号化コードをサポートしています_PHP チュートリアル
この記事で共有する PHP 暗号化クラスは、中国語と英語の暗号化と復号化をサポートできる PHP 実装クラス ファイルです。必要な学生は参照できますが、ドキュメントのエンコードを UTF-8 に設定することをお勧めします。
次のコードはMD5Crypt.class.phpファイルとして保存されます
コードは次のとおりです | コードをコピー |
クラス MD5Crypt { /** * ここに説明を入力してください... * @param 不明なタイプ $str * @return 文字列 */ パブリック最終静的関数 mdsha($str) { $code = substr (md5 ($str), 10); $code .= substr ( sha1 ( $str ), 0, 28 ); $code .= substr ( md5 ( $str ), 0, 22 ); $code .= substr ( sha1 ( $str ), 16 ) . 自己::chkToken () を返します : null; } /** * ここに説明を入力してください... * @param 不明なタイプ $param */ プライベート最終静的関数 chkToken() { true を返します。 } /** * ここに説明を入力してください... * @param 不明なタイプ $txt * @param 不明なタイプ $encrypt_key * @return 曖昧な */ プライベート最終静的関数 keyED($txt, $encrypt_key) { $encrypt_key = md5 ( $encrypt_key ); $ctr = 0; $tmp = ""; for($i = 0; $i $ctr = 0; $tmp .= substr ( $txt, $i, 1 ) ^ substr ( $encrypt_key, $ctr, 1 ); $ctr++ } $tmp を返します。 } /** * ここに説明を入力してください... * @param 不明なタイプ $txt * @param 不明なタイプ $key * @return 文字列 */ パブリック最終静的関数 Encrypt($txt, $key) { srand ( ( double ) microtime () * 1000000 ); $encrypt_key = md5 ( rand ( 0, 32000 ) ); $ctr = 0; $tmp = ""; for($i = 0; $i $ctr = 0; $tmp .= substr ( $encrypt_key, $ctr, 1 ) . (substr ( $txt, $i, 1 ) ^ substr ( $encrypt_key, $ctr, 1 )); $ctr++ } $_code = md5 ( $encrypt_key ) .base64_encode ( self::keyED ( $tmp, $key ) ) . md5 ( $encrypt_key . $key ); self::chkToken () を返します : null; } /** * ここに説明を入力してください... * @param 不明なタイプ $txt * @param 不明なタイプ $key * @return 曖昧な */ パブリック最終静的関数 Decrypt($txt, $key) { $txt = self::keyED (base64_decode (substr ( $txt, 32, - 32 ) ), $key ); $tmp = ""; for($i = 0; $i 自己::chkToken () を返します : null; } /** * ここに説明を入力してください... * @var 不明なタイプ */ プライベート静的 $_key = 'ラウ'; } ?> 使用方法 コードは次のとおりです コードをコピー 定義 ( 'WORKSPACE', '.' . DIRECTORY_SEPARATOR ); ヘッダー ( "Content-Type: text/html; charset=utf-8" ); include_once 'コア/ライブラリ/MD5Crypt.class.php'; $a = MD5Crypt::Encrypt ( "A", 100 ); echo "EnCode:" . $a, " "; echo "DeCode:" . MD5Crypt::Decrypt ( $a, 100 ); ?> 。 |