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

PhP 를 사용 하여 My Sql 에 저 장 된 비밀 번 호 를 암호 화 하 는 가장 좋 은 실천 은 무엇 입 니까? 본문

개발 스크랩 메모/PHP

PhP 를 사용 하여 My Sql 에 저 장 된 비밀 번 호 를 암호 화 하 는 가장 좋 은 실천 은 무엇 입 니까?

렉사이 2020. 11. 27. 23:51

나 는 PHP 를 어떻게 사용 하여 My SQL 에 비밀 번 호 를 안전하게 저장 하 는 지 에 대해 조언 을 구하 고 있다.

PHP 자체 의 한계점 을 무시 하고 나 쁜 놈 들 에 대한 더 많은 지식 을 알 고 싶 습 니 다.

사람들 이 어 쩔 수 없 이 약 한 비밀 번 호 를 사용 하 는 것 이 분명 하 다.

하지만 내 가 어떻게 저장 하 느 냐 가 나 에 게 는 매우 중요 하 다.

내 사용자 암 호 는 나 에 게 데이타베이스 자체 보다 더 중요 하기 때문에 나 는 이러한 방식 으로 그것들 을 보존 하고 자 한다.

방향 을 바 꾸 려 는 모든 스 크 립 트 아이들 에 게 이것 은 힘 들 고 단조 로 울 것 이다.

맡 은 바 소임 을 다 하면 어떤 일이 든 지 패 배 될 수 있 으 나, 나 는 이 일 을 골 치 아 프 게 만 드 는 것 은 개의 치 않 는 다.

두 가지 상황 을 고려 하고 있 습 니 다.

  1. The kiddie has a complete copy of the database.
  2. The kiddie has a complete copy of the PHP used to craft the password, and the database.

이 문제 의 어떤 건의 도 우 리 는 감격 해 마지 않 을 것 이다.

대답 하 다.

bcrypt 을 사용 합 니 다.

데이터 베 이 스 를 사용 하 는 사용자 표 가 있다 면, 그들 은 브 로 더 / rainbow table s / etc 를 사용 하여 그들의 수 요 를 만족 시 킬 수 있 습 니 다.

salt 를 사용 하 더 라 도 MD5 또는 다른 빠 른 해시 알고리즘 을 사용 하면 (참고 로 이 알고리즘 들 은 이 문 제 를 해결 하기 위해 설계 한 것 이 아니 라) 시간 문제 에 불과 합 니 다.

유명 하고 지원 을 많이 받 는 해시 알고리즘 은 모두 똑 같은 기본 적 인 '결함' 이 있 습 니 다.

각각 bcrypt 은 해시 작업 을 할 때 당밀 처럼 속도 가 느 려 져 폭력 공격 의 효 과 를 훨씬 못 내 는 것 으로 나 타 났 다.

bcrypt 의 장점, 다른 방법의 위험, 보안 의 어려움 에 대해 절대 깊이 있 는 토론 을 진행 하려 면 본 고 를 읽 으 십시오.나 보다 더 잘 알 고 있 으 니 더 많은 문 제 를 이해 할 수 있 도록 도 와 줬 으 면 좋 겠 다 는 의견 이 많 습 니 다.

Comments