CentOS 리눅스(linux)에서 파일 md5값 얻어내기 - 비밀번호 만드는 방법
운영체제의 명령을 통해서 알아 내는 방법입니다.
아래 패키지를 설치 해야 됩니다. 전 CentOS 사용합니다.
isomd5sum.x86_64
yum -y install isomd5sum.x86_64
# md5sum /etc/bashrc
073e8d1e83d2876c82606fb432fe12f8 /etc/bashrc
MD5 가지는 작은 길이라는 것입니다. 해쉬함수에서 쓸만하면서 작은 길이 입니다. 그렇지만 고도의 비밀번호같은것을 요구하거나 보안에 중요한곳에선 사용하면 안됩니다.(권장사항)
그렇지 않은 단순 unique한 값을 비교하거나. 같은 파일인지 확인하거나 긴 URL 주소를 32바이트로 작게 비교를 하고 싶거나 할땐 요긴합니다. 그리고 일상에서 중복된 값 만나지 않습니다. 그렇기 때문에 간단하게 사용해야 되는곳에선 참 좋습니다.
비밀번호를 해쉬값으로 저장하고자 할때는 보통 아래와 같이 합니다.
중요한 부분은 사용자입력 비밀번호를 그대로 sha512 값을 얻어내는것이 아니라 뭔가를 더 많이 넣어 주는것입니다.
우선 SHA512 권장 합니다.
해쉬값 = sha512(사용자입력비번 + sha1(사용자비번) + '임의문자최소 15자리');
위는 PHP 프로그램에선 아래와 같습니다.
<?
/**
* --------------------------------------------------------------------------
*
* file md5
*
* 작성자: pabburi.co.kr
* 작성일: 2021. 09. 30
*
* --------------------------------------------------------------------------
*/
set_time_limit(0);
ini_set("display_errors", 1);
ini_set('memory_limit','2048M');
setlocale(LC_CTYPE, 'ko_KR.utf8');
date_default_timezone_set('Asia/Seoul');
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
# 파일 md5값
$md5_val = md5_file('파일경로');
echo $md5_val . "\n";