PHP / 함수 / md5() / 문자열에서 md5 해시값 생성하는 함수

개요

  • md5()는 문자열에서 md5 해시값을 생성하는 함수입니다. 해시값에서 원래의 문자열을 만들지는 못합니다.
  • 문자열이 같다면 같은 해시값을 만드므로, 비밀번호를 암호화하여 저장하는 용도로는 맞지 않습니다.

It is not recommended to use this function to secure passwords, due to the fast nature of this hashing algorithm.

문법

md5( string $str [, bool $raw_output = FALSE ] )
  • str : 해시값을 생성할 문자열입니다.
  • raw_output : TRUE이면 16바이너리 형식으로 반환하고, FALSE이면 32자리 문자열을 반환합니다. 기본값은 FALSE입니다.

예제

<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>PHP</title>
    <style>
      body { font-family: Consolas, sans-serif; }
      input, button { font-family: inherit; font-size: inherit; }
    </style>
  </head>
  <body>
    <p>md5( 'apple' ) : <?php echo md5( 'apple' ); ?></p>
    <p>md5( 'banana' ) : <?php echo md5( 'banana', TRUE ); ?></p>
  </body>
</html>

참고

  • md5 복호화 시이트들이 있습니다. 그런데, 해시값에서 원래 문자열을 만드는 게 아니라, 많은 문자열과 해시값을 DB에 넣어두고 출력해주는 것입니다. 따라서 DB에 없는 해시값은 원래 문자열을 알아낼 수 없습니다.
같은 카테고리의 다른 글
PHP / 에러 출력하는 방법, 에러 출력하지 않는 방법

PHP / 에러 출력하는 방법, 에러 출력하지 않는 방법

PHP 코딩을 하고 웹 브라우저에서 실행을 시킵니다. 그런데 원하는 결과가 나오지 않거나 '페이지를 표시할 수 없습니다' 같은 메시지가 나오는 경우가 있습니다. 반대로 결과를 도출하는 데는 문제가 없으나 에러 메시지가 나오는 경우가 있습니다. 보통 개발 과정에서는 어떤 에러든 표시하는 게 좋고, 서비스 중이라면 왠만한 에러는 보이지 않는 게 좋습니다. 어떻게 에러 표시 여부를 ...

PHP / PHPMailer / SMTP를 이용하여 메일 발송하게 하는 라이브러리

PHP / PHPMailer / SMTP를 이용하여 메일 발송하게 하는 라이브러리

PHP의 mail() 함수를 이용하여 메일을 보낼 수 있다. 그런데 이렇게 발송한 메일은 스팸으로 인식되는 경우가 많다. 정상적으로 메일을 수신토록 하려면 SMTP를 이용하는 게 좋다. PHPMailer는 SMTP를 이용하여 메일 발송하게 하는 라이브러리다. PHPMailer를 이용하여 메일을 발송하는 방법을 정리한다. 다운로드 및 업로드 GitHub에서 소스를 다운로드한다.(https://github.com/PHPMailer/PHPMailer) 압축을 풀고 서버에 업로드한다. Composer를 이용하여 설치할 수도 있지만, 서버를 제어할 권한이 없는 ...

PHP / 현재 페이지의 URL 정보 가져오는 방법

PHP / 현재 페이지의 URL 정보 가져오는 방법

$_SERVER를 이용하여 현재 페이지의 URL 정보를 가져올 수 있다. $_SERVER : 도메인 $_SERVER : 도메인 다음 부분 $_SERVER : GET 방식으로 넘어온 값 $_SERVER : 도메인 다음 부분에서 GET 방식으로 넘어온 값 제외 basename( $_SERVER ) : 파일 이름 예를 들어 URL이 https://example.codingfactory.net/php/php.php?a=123&b=456라고 할 때, 결과는 다음과 ...

PHP / 함수 / strpos() / 문자열 안에서 특정 문자열 위치 반환하는 함수

PHP / 함수 / strpos() / 문자열 안에서 특정 문자열 위치 반환하는 함수

strpos()는 문자열 안에서 특정 문자열의 위치를 반환하는 함수이다. 문법 strpos(string $haystack, string $needle, int $offset = 0) haystack : 검색 대상이 되는 문자열 needle : 찾을 문자열 offset : 검색 시작 위치 찾을 문자열이 있다면 그 위치를 반환하고, 없다면 false를 반환한다. 예제 123456789에서 1의 위치를 반환한다. 값은 0이다. strpos( "123456789", "1" ) 123456789에서 2의 위치를 반환한다. 값은 1이다. strpos( "123456789", "2" ...

PHP / 메모

PHP / 메모

HTML 확장자에서도 PHP 코드 실행시키는 방법 PHP는 보통 확장자가 php인 파일에서 실행됩니다. 하지만 설정을 추가하여 다른 확장자 파일에서도 php가 실행되도록 할 수 있습니다. 만약 아파치 웹서버에서, 확장자가 html인 파일에서도 php가 실행되도록 하려면, 설정 파일에 다음 코드를 추가합니다. AddType application/x-httpd-php .html

PHP / 함수 / phpinfo() / PHP 정보와 설정 출력하는 함수

PHP / 함수 / phpinfo() / PHP 정보와 설정 출력하는 함수

개요 phpinfo()는 PHP 정보와 설정을 표로 정리해서 보여주는 함수입니다. PHP 파일 생성 다음의 코드를 가진 phpinfo.php 파일을 만듭니다.(파일 이름은 다른 것으로 해도 상관없습니다.) <?php phpinfo(); ?> 웹브라우저로 접속 웹브라우저로 phpinfo.php에 접속합니다. 그러면 다음처럼 정보를 출력합니다. PHP / 함수 / phpversion() – PHP 버전 출력하는 함수

PHP / include(), include_once(), require(), require_once() / 외부 파일 포함하는 함수

PHP / include(), include_once(), require(), require_once() / 외부 파일 포함하는 함수

여러 파일에 공통적으로 사용하는 코드는 별도의 파일로 만든 후 각 파일에서 불러오는 것이 좋습니다. 코드의 양이 줄어들고, 수정이 용이하기 때문입니다. 외부 파일을 포함하는 함수는 네 가지가 있습니다. include 같은 파일 여러 번 포함 가능 / 포함할 파일이 없어도 다음 코드 실행 include_once 같은 파일 한 번만 포함 / 포함할 파일이 없어도 다음 코드 실행 require 같은 파일 ...

PHP / 함수 / password_verify() / password_hash()로 만든 암호화된 문자열이 입력한 비밀번호와 같은지 확인하는 함수

PHP / 함수 / password_verify() / password_hash()로 만든 암호화된 문자열이 입력한 비밀번호와 같은지 확인하는 함수

개요 password_verify()는 password_hash()로 암호화한 비밀번호가 사용자가 입력한 값과 같은지 확인하는 함수입니다. 암호화된 문자열을 원래 문자열로 바꾸는 것이 아니고, 단지 같은지 다른지를 비교하여 TRUE 또는 FALSE를 반환합니다. 문법 password_verify ( string $password , string $hash ) $password : 사용자가 입력한 비밀번호입니다. $hash : password_hash()로 암호화된 문자열입니다. 예제 password_hash() 함수로 mypw를 암호화하고 변수 encrypted_password에 저장합니다. $encrypted_password = password_hash( 'mypw', PASSWORD_DEFAULT ...

PHP / Session / 세션 값 출력하는 방법

PHP / Session / 세션 값 출력하는 방법

세션(Session)에 값을 저장했을 때, 그 값을 출력하는 방법을 간단한 예제로 알아보겠습니다. 세션을 초기화합니다. 이때 id가 하나 발급됩니다. session_start(); 세션의 no에 123을, username에 abc를 저장합니다. $_SESSION = 123; $_SESSION = 'abc'; 세션의 id를 출력합니다. echo session_id(); 세션의 no의 값을 출력합니다. echo $_SESSION; 세선의 username의 값을 출력합니다. echo $_SESSION; 세션의 모든 값을 출력합니다. var_dump( $_SESSION ); 다음은 전체 ...

PHP / Ubuntu / Apache / HTML 확장자에도 PHP 코드 인식되도록 설정하는 방법

PHP / Ubuntu / Apache / HTML 확장자에도 PHP 코드 인식되도록 설정하는 방법

Ubuntu에 Apache로 웹서버를 만들고 PHP를 사용할 수 있게 만든 경우, 기본적으로 확장자가 php인 경우에만 PHP 코드를 인식합니다. 만약 확장자가 html일 때로 PHP 코드가 인식되도록 하고 싶다면, Apache 설정을 바꿔줘야 합니다. /etc/apache2/mods-enabled/mime.conf 파일을 엽니다. 다음 코드를 추가합니다. AddType application/x-httpd-php .html 확장자가 htm인 경우에도 PHP를 인식하도록 하고 싶다면 다음처럼 합니다. AddType application/x-httpd-php .html .htm 웹서버를 다시 로드합니다. service apache2 ...