ホームページ  >  記事  >  バックエンド開発  >  PHP5 数値文字列の暗号化と復号化コード_PHP チュートリアル

PHP5 数値文字列の暗号化と復号化コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:51:551300ブラウズ



/* ----------------------------------------------------- -----------------------------------
* スクリプト名: encrypt.php
* 作成日: 2008- 4-7 10:36
* 最終更新日: 2008-4-12 16:00
* 作成者: meyu
* 著作権 (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 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- > 一致;
$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;
}
}
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/319043.html技術記事 ?php /*---------------------------------------------- ---------------------------- *スクリプト名:encrypt.php *作成日:2008-4-710:36 *最終更新日:2008 -4-1216:00 *作者:meyu *C...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。