일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 제주도
- 조경철천문대
- 괌
- 포천수영장
- 파주골프장
- 포천투어
- 제주도눈
- 자연산개복숭아
- 포천가볼만한곳
- 덕소골프샵
- 야생개복숭아
- 포천온천
- 경기북부골프장
- 휘닉스파크
- 잠실수영장
- 돌복숭아
- wp-900
- 한라산
- LGG6
- 자연산 개복숭아
- 제주도설경
- 서원힐스
- 개복숭아 판매
- 제주도눈썰매
- 야생개복숭아 판매
- 개복숭아
- 개복숭아판매
- 태안수영장펜션
- 괌자유여행
- 충주골프장
- Today
- Total
Live Brilliant
암호화 소스( 숫자 암호화,숫자 복호화) 본문
/* ▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧
보안/암호
▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧ */
/* 숫자 암호화 */
function numEnc($str){
if($str=='null' || $str==null || $str=='') return "";
$temp= "";
$encStr= "";
$temp= strrev($str);
for($i=0; $i<strlen($temp); $i++){
$encStr .= intval($temp[$i] + $i *77) %10;
}
return $encStr;
}
암호화 스크립트 추가
$sn = $jumin1.$jumin2;
$userNum = numEnc($sn);
$sn(주민번호 암호화)
디비 쿼리 불러옴
$oDb->execute("select * from Member where userName='$name' and userNum='$userNum'");
/* 숫자 복호화 */
function numDec($encdata){
$temp = $encdata;
for($i = 0;$i < strlen($temp);$i++){
if($i==0){
$temp2=$temp[$i];
}else{
$aa = $i*77;
$temp2.=substr(intVal(10+$temp[$i]) - intVal(substr($aa,-1)),-1);
}
}
return strrev($temp2);
}
/* 로그인정보(쿠키) 암호화 */
function encrypt($txt) {
$key = "abcdefghijklmnopqrstuvwxyz";
$key_len = strlen($key);
$rot_ptr_set = 9;
$rot_ptr = $rot_ptr_set;
$tmp = "";
$txt = strrev($txt);
$txt_len = strlen($txt);
for ($i=0; $i<$txt_len; $i++) {
if($rot_ptr >= $key_len) $rot_ptr = 0;
$tmp .= $txt[$i] ^ $key[$rot_ptr];
$v = ord($tmp[$i]);
$tmp[$i] = chr(((($v << 3) & 0xf8) | (($v >> 5) & 0x07)));
$rot_ptr ++;
}
$tmp = base64_encode($tmp);
$tmp = strrev($tmp);
return $tmp;
}
/* 로그인정보(쿠키) 복호화 */
function decrypt($txt) {
$key = "abcdefghijklmnopqrstuvwxyz";
$key_len = strlen($key);
$rot_ptr_set = 9;
$rot_ptr = $rot_ptr_set;
$tmp = "";
$txt = strrev($txt);
$txt = base64_decode($txt);
$txt_len = strlen($txt);
for ($i=0; $i<$txt_len; $i++) {
if($rot_ptr >= $key_len) $rot_ptr = 0;
$v = ord($txt[$i]);
$txt[$i] = chr(((($v >> 3) & 0x1f) | (($v << 5) & 0xe0)));
$tmp .= $txt[$i] ^ $key[$rot_ptr];
$rot_ptr ++;
}
$tmp = strrev($tmp);
return $tmp;
}
/* 암호화 : mode 1 => 암호화 mode 0 => 해독 */
function usrCrypt($txt,$mode=1) {
$encrypt_key = "ruddktkfkd@~@$!@#$%^&*()raymond9493@hotmail.comabcdefghijklmnopqrstuvwxyz";
$tmp = "";
if (!$mode){
$txt = base64_decode($txt);
}
$ctr = 0;
$cnt = strlen($txt);
for ($i=0; $i<$cnt; $i++) {
if ($ctr==$cnt){
$ctr=0;
}
$tmp .= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return ($mode) ? base64_encode($tmp) : $tmp;
}
'개발은 핵찜이야 > PHP' 카테고리의 다른 글
페이지 로딩시간 표시 (0) | 2012.04.13 |
---|---|
ob_start() , ob_end_flush() 함수 사용 (0) | 2012.04.13 |
ActiveX 설치 유무 확인 소스 (0) | 2012.04.13 |
URL 리다이렉션을 위해 URL 변조 / URL 가로채기 (0) | 2012.04.13 |
홈페이지 타이틀만 추출하기 (0) | 2012.04.13 |