ホームページ > php教程 > php手册 > PHP5 数値文字列の暗号化および復号化コード

PHP5 数値文字列の暗号化および復号化コード

WBOY
リリース: 2016-06-13 12:28:35
オリジナル
888 人が閲覧しました



/* ------------------------------------- ---------------------------------------
* スクリプト名: 暗号化。 php
* 作成日: 2008-4-7 10:36
* 最終更新日: 2008-4-12 16:00
* 作成者: meyu
* Copyright (c) 2007
* 目的: 数字文字符串简易加解密
* ------------------------------------- ---------------------------------------*/

クラス暗号化{
/**
* 最終的な暗号文コードは、繰り返しのない 10 桁の英字 a-zA-Z に設定できます
*/
private $replacement = 'urskydMeIV';

/**
※追加する暗号文の先頭ビットは、0以外の1桁の整数、つまり1~9を設定可能
*/
private $prefix = "8";

/**
* 公開鍵、長さ 8 桁未満の正の整数
*/
private $match = "111111";

/**
* 変換後の配列を比較
*/
private $replaceenc;
プライベート $replacedec;

function __construct() {
for($i =0; $i <<10; $i ) {
$this->replaceenc['/'.$i.'/ '] = $this->置換{$i};
$this->replacedec['/'.$this->replacement{$i}.'/'] = $i;
}
}

public function encrypt($str) {
return preg_replace(
array_keys($this->replaceenc),
$this->replaceenc ,
$this->mynotin(preg_replace("/(.)(.)/", "${2}${1}", $str))
);
}

public function decrypt($str) {
return preg_replace("/(.)(.)/", "${2}${1}",
$ this->mynotout(preg_replace(array_keys($this->replacedec),$this->replacedec,$str))
);
}

プライベート 関数 mynotin($str) {
$str_out = "";
$i = 0;
while(isset($str{7*$i})) {
$str_out .= (($this->prefix.substr($str, $i*7, 7)) 0)^ $this->match;
$i ;
}
return $str_out;
}

プライベート 関数 mynotout($str) {
$str_out = "";
$i = 0;
while(isset($str{8*$i})) {
$str_out .= substr((substr($str, $i*8, 8) 0)^$this->match, 1);
$i ;
}
return $str_out;
}
}
?>

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