메뉴 건너뛰기

프로그램언어

조회 수 1507 추천 수 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
번호 제목 날짜 조회 수
207 PHP XML 문서파싱 (SAX 방식 , DOM 방식) file 2018.10.26 715
206 PHP split()와 explode()의 차이점 2018.10.26 709
205 PHP eregi가 빠를까, strpos가 빠를까? 2018.10.26 721
204 PHP 확장 모듈을 이용한 C 라이브러리 사용 2018.10.26 720
203 자바스크립트 이스케이프 문자열을 PHP로 디코딩 하기 2018.10.26 687
202 이미지 땡겨와서 출력하기 2018.09.27 1158
201 DB 연동 4단 셀렉트 박스 2018.09.27 1188
200 PHP에서의 대칭 암호화/복호화 ― 간단한 예제에서 DB 입/출력까지 2018.09.14 597
199 PHP에서 자료, 데이터의 타입을 확인하는 방법, gettype() 2018.08.29 578
198 PHP에서 모든 세션 정보를 화면에 출력하는 방법 2018.08.29 583
197 한글이 깨져서 나올 때 - iconv 2018.08.29 818
196 날짜/시간함수 정리 2018.08.29 613
195 웹서버조회 소스 2018.07.24 1253
194 헤더이용 다운로드 받을시 바로열기부분 소스 2018.07.24 2050
» 키를 이용한 암호화/복호화 함수입니다. 2018.07.24 1507
192 MySQL테이블의 내용을 엑셀파일(xls)로 다운로드 하기 2018.07.24 1412
191 날짜계산 몇일까지.. [ ex)4 일전 new 표시 ] 2018.07.24 1160
190 게시판 내용 숨김 클릭시 내용 출력 [ 참고 ] 2018.07.24 1326
189 마우스 오버시 사진변환, 파일에러시 대체이미지 적용(소스일부) 2018.07.24 1270
188 PHP 소스코드 인코딩(암호화)하기 2018.07.19 1678
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved