본문 바로가기

[Terry] PHP

11. PHP 암호화 관련

 암호화 함수

 php에서는 crypt와 md5 함수를 지원한다. crypt와 md5는 복호가 되지 않는 단방향 함수이다.

참고

md5 (message digest algorithm 5) : RSA 암호 개발자(Rives)가 개발한 메시지 다이제스트 함수 알고리즘으로 주로 데이터의 오류 검출에 이용된다.

Hash : key와 value의 한쌍으로 이루어져 있으면, 특정한 데이터를 고정 길이의 유일한 값으로 대응하도록 하는 것.

 

crypt

UNIX 계열의 OS에서 기본적으로 지원하는 암호화 방식

키값에 의존하여 암호화한 후에 저장될 변수에 저장

키 값은 두개의 문자로 구성

crypt함수는 8개의 문자열만 취하고 나머지는 잘라 버린 후에 암호화한다.

형식

저장될변수 = crypt(문자열, 키값);  

예제

  1. <?
  2. $a = "12345";

  3. echo crypt($a, "AA");

  4. echo crypt($a, "Ab");   //키 값이 두자리일 경우

  5. echo crypt($a, "Abc");   //키 값이 세자리 일 경우 ... 위 함수 결과와 비교해 보자.

  6. echo crypt($a, "A");   //키 값이 한자리일 경우 뒤에 자동으로 $가 붙는다.

  7. echo crypt($a, "A$");   //키 값이 한자리일 경우와 비교해보자.

  8. ?>

 

md5

message digest algorithm 5의 약자로 실제로 암호화라기보다는 단순히 어떠한 내용의 Hash 값을 계산해주는 것이다.

형식

저장될변수 = md5(문자열);

예제

  1. <?
  2. $a = "abcdefgh";   //8자리 문자열

  3. $b = "abcdefghi";   //9자리 문자열

  4. echo crypt($a, 22) . "<br>";   //키값 22로 8자리 문자열 암호화

  5. echo crypt($b, 22) . "<br>";   //킥밧 22로 9자리 문자열 암호화

  6. echo md5($a) . "<br>";

  7. echo md5($b) . "<br>";

  8. ?>

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.