개발! 딱 깔끔하고 센스있게!

MySQL 이나 PHP md5 함 수 를 사용 하 는 것 이 빠 릅 니 다 / 더 좋 은 것 은 무엇 입 니까? 본문

개발 스크랩 메모/PHP

MySQL 이나 PHP md5 함 수 를 사용 하 는 것 이 빠 릅 니 다 / 더 좋 은 것 은 무엇 입 니까?

렉사이 2020. 12. 1. 22:40

나 는 데이터 베 이 스 를 대조 하여 사용자 의 비밀 번 호 를 검사 했다.

더 빠 른 것 은 My SQL MD5 함수 입 니 다.

... pwd = MD5('.$pwd.') 

혹은 PHP MD5 함수

... pwd = '.md5($pwd).' 

두 가지 선택 사이 의 정확 한 방식 은 무엇 입 니까?

대답 하 다.

누군가가 사이트 에 가입 할 때 md5 를 계산 하거나 로그 인하 고 있다 면, 매 시간 md5 를 호출 할 수 있 습 니까?몇 백 개?그렇다면 PHP 와 MySQL 의 미세한 차 이 는 전혀 중요 하지 않다 고 생각 합 니 다.

이 문 제 는 "비밀번호 가 어디 에 있 는 지 md5 로 저장 되 어 있다 는 사실 을 어디 에 두 어야 하 는가" 와 같 아야 한다.

"아무것도 얻 은 것 이 없다" 는 것 이 아니다.

또 보충 설명 으로 는 또 다른 문 제 는 이런 계산 을 위해 쓰 는 자원 을 어디서 부담 할 수 있 느 냐 는 것 일 수 있다.

PHP 서버 10 개 와 DB 서버 1 개 과부하 가 있다 면, 답 을 얻 을 수 있 습 니 다.

-)

하지만, 그저 재 미 를 위해

mysql> select benchmark(1000000, md5('test')); +---------------------------------+ | benchmark(1000000, md5('test')) | +---------------------------------+ | 0 | +---------------------------------+ 1 row in set (2.24 sec) 

PHP 중:

$before = microtime(true); for ($i=0 ; $i<1000000 ; $i++) { $a = md5('test'); } $after = microtime(true); echo ($after-$before) . "\n"; 

건 네 기:

$ php ~/developpement/tests/temp/temp.php 3.3341760635376 

하지만 100 만 md5 를 그렇게 계산 하 지 는 않 을 거 예요. 그 렇 죠?

(이것 은 SQL 입력 을 막 는 것 과 무관 합 니 다: 데 이 터 를 바 꾸 거나 참조 하 십시오!영원히!준 비 된 성명 사용)

Comments