메뉴 건너뛰기

프로그램언어

조회 수 5741 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
키를 이용한 암호화/복호화 함수입니다.
출처는 http://man.phpschool.com/이고
복잡한 소스를 약간 정리했습니다.
이정도면 실전에 응용해도 될정도로 충분히 안전하고 편리하다고 생각됩니다.
영문, 한글, 특수문자 테스트 결과도 좋았습니다.

<?
function bytexor($a,$b)
{
        $c="";
        for($i=0;$i<16;$i++)$c.=$a{$i}^$b{$i};
        return $c;
}


function decrypt_md5($msg,$key)
{
        $string="";
        $buffer="";
        $key2="";

        while($msg)
        {
                $key2=pack("H*",md5($key.$key2.$buffer));
                $buffer=bytexor(substr($msg,0,16),$key2);
                $string.=$buffer;
                $msg=substr($msg,16);
        }
        return($string);
}

function encrypt_md5($msg,$key)
{
        $string="";
        $buffer="";
        $key2="";

        while($msg)
        {
                $key2=pack("H*",md5($key.$key2.$buffer));
                $buffer=substr($msg,0,16);
                $string.=bytexor($buffer,$key2);
                $msg=substr($msg,16);
        }
        return($string);
}

// 사용 예
$message = "다양한 원본 메시지 東西南北 ABC abc 123 ※ ↔ ";
$key = "아..이정도면 매우 복잡한 키--;";

$encrypted = encrypt_md5($message, $key);
$decrypted = decrypt_md5($encrypted, $key);

echo "Encrypted = $encrypted";
echo " <HR>";
echo "Decrypted = $decrypted";
?>


List of Articles
번호 제목 날짜 조회 수
320 mysql 에러 구문 표시 2014.02.27 20349
319 MYSQL 업데이트 두 번 하기 2014.02.27 19729
318 php 파일 확장자 2014.02.27 20234
317 php 파일 다운로드 구현 2014.02.27 19794
316 해당하는 날짜가 그달의 몇주째인지 계산 2014.02.27 26351
315 FPDF - PHP로 PDF 만들기 2014.02.27 21084
314 [PHP] 한글명 파일 다운로드받기 2014.03.26 20551
313 웹페이지 프린트 하기 html 수준 2014.03.26 19805
312 웹에서 Excel 로 출력하기 2014.03.26 20356
311 jQuery 개발자를 위한 메모 - 플러그 인 2014.03.26 19257
310 JSON and JavaScript usage 2014.03.26 19064
309 jQuery 개발자를 위한 메모 - 레퍼런스 2014.03.26 19522
308 특수문자 없애는 정규표현식 2014.03.26 21623
307 이미지 워터마크 구현 2014.03.26 19667
306 Drag/Drop HTML elements 2014.03.26 19535
305 네이버 지도 api php버전 2014.03.26 19434
304 PHP 소스 : 이미지 리사이즈, 섬네일 2014.03.26 20704
303 어떤 스마트폰으로 접속했는지 알아내는 소스 , (안드로이드 아이폰 ) 2014.03.26 17716
302 PHP 세션에서 시작, 변수등록, 변수삭제, 부수기 2014.03.26 19490
301 PHP 에서의 소켓(Socket) 통신 2014.04.12 20395
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved