개발 스크랩 메모/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 입력 을 막 는 것 과 무관 합 니 다: 데 이 터 를 바 꾸 거나 참조 하 십시오!영원히!준 비 된 성명 사용)