/* ------------------------- --------------------------------------
* 스크립트 이름: encrypt.php
* 작성일: 2008-4-7 10:36
* 최종 수정일: 2008-4-12 16:00
* 작성자: meyu
* 저작권(c) 2007
* 목적:数字符串简易加解密
* --------------------------- -----------------------*/
클래스 암호화 {
/**
* 최종 암호문 코드는 반복되지 않는 10자리 영어 문자 a-zA-Z로 설정할 수 있습니다
*/
비공개 $replacement = 'urskydMeIV';
/**
* 추가된 암호문의 첫 번째 비트는 0이 아닌 1자리 정수, 즉 1~9로 설정 가능
*/
비공개 $prefix = "8";
/**
* 공개키, 길이가 8자리 미만인 양의 정수
*/
비공개 $match = "111111";
/**
* 변환 후 배열 비교
*/
비공개 $replaceenc;
비공개 $replacedec;
함수 __construct() {
for($i =0; $i < 10; $i ) {
$this->replaceenc['/'.$i.'/'] = $this->교체{$i};
$this->replacedec['/'.$this->replacement{$i}.'/'] = $i;
}
}
공용 함수 암호화($str) {
return preg_replace(
array_keys($this->replaceenc)
$this->replaceenc,
$this->mynotin(preg_replace("/(.)(.)/", "${2}${1}", $str))
);
}
공용 함수 해독($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의 문자 형식이 문자로 표시됩니다. 🎜>