この記事では、主に PHP 暗号化と復号化クラスの原理と関連技術を分析します。必要な友人は非常に参考になります。それ
この記事の例では、PHP の暗号化および復号化クラスについて説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
このコードは、配列暗号化、暗号文の有効期間、およびさまざまな対称暗号化をサポートしています
パラメータは以下の通りです:
* @use ption::en($string, $key);
* @param String $string 暗号化する必要がある文字列
* @param String $skey key
* @param int $expiry 暗号文の有効期間、暗号化されたときに有効、秒単位、0 は永続的な有効性を意味します
* @return String
1. phpコードは以下の通りです:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
/* * -ツールライブラリ-暗号化および復号化パスワード */ クラスオプション { プライベート静的 $original = array('=', '+', '/'); private static $later = array('O0O0O', 'o0O0o', 'oo00o'); 関数__construct() { } プライベート静的関数 md5($skey = '') { $skey = $skey : 'ui' //uicms::_config('security/authkey'); return md5(substr($skey, 0, 16)); } /** * @use ption::en($string, $key); * @param String $string 暗号化する必要がある文字列 * @param String $skey キー * @param int $expiry 暗号文の有効期間、暗号化中に有効、単位は秒、0 は永続的な有効性を意味します * @戻り文字列 */ 静的パブリック関数 en($string = '', $skey = '', $expiry=0) { if( is_array( $string ) ) { $string = json_encode($string); // uicms::json($string, true, 'en'); } $string = str_pad($expiry ? $expiry + TIME : 0, 10, 0).$string; $strArr = str_split(base64_encode($string)); $strCount = count($strArr); $skey = static::md5($skey); foreach (str_split($skey) as $key => $value) { $key } return str_replace(self::$original, self::$later, join('', $strArr)); } /** * @use ption::de($string, $key); * @param String $string 復号化する文字列 * @param String $skey キー * @戻り文字列 */ 静的パブリック関数($string = '', $skey = '') { $strArr = str_split(str_replace(self::$later,self::$original,$string),2); $strCount = count($strArr); $skey = static::md5($skey); foreach (str_split($skey) as $key => $value) { $key } $result =base64_decode(join('', $strArr)); if(substr($result, 0, 10) == 0 || substr($result, 0, 10) - TIME > 0) { substr($result, 10)を返す; } その他 { false を返す; } } } |
2.用法如下:
?
1 2 3 4 5 6 |
$str['ユーザー名'] = 'オシナ'; $str['pw'] = '123456'; $str['huoxin'] = '!@#$%^&'; エコー「文字列:」。 $str 。 " echo "エンコード: " 。 ($enstring = ption::en($str)) 。 ' エコー「デコード:」。 ption::de($enstring); |
ここに記載されている大家のphpプログラムの設計に役立つことを希望します。
http://www.bkjia.com/PHPjc/987100.html