/* ------------------------------------------ ----------------------------------
* スクリプト名: 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->replacement {$i};
$this->replacedec['/'.$this->replacement{$i}.'/'] = $i;
}
}
public encrypt($str) {
return preg_replace(
array_keys($this->replaceenc),
$this-& gt;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;
}
}
?>
以上は php5 のダウンロードを介して php5 の数字型文字列を追加したコードで、php5 のダウンロードに関する内容が含まれており、PHP の教則に興味のある友人の助けになることを望みます。