데이터베이스를 만들 때 사용자 암호를 저장해야합니다. 나는 이미 클라이언트 쪽에서 암호를 해시하기 위해 bcrypt를 사용하고 있지만 클라이언트 쪽에서 만 해시를 사용하면 해시가 데이터베이스와 관련하여 본질적으로 암호와 같습니다. 데이터베이스에 저장되기 전에 암호 해시 (해시)를 다시 해시하고 싶습니다. SHA2(pwd)
과 같은 MySQL 고유의 메소드를 사용해야합니까, 아니면 서버에서 bcrypt를 사용할 수 있습니까?MySQL- 서버 측 암호 해시 구현 방법
0
A
답변
0
Bcyrpt는 여기서 좋은 호칭이지만 클라이언트가 아니라 서버 측에서 해싱을 수행해야합니다. 클라이언트가 올바른지 확인할 수있는 해시를 생성하는 데 필요한 모든 정보를 클라이언트가 알 수 없으며 서버에만 해당 정보가 있습니다.
당신이해야 할 일은 비밀 번호를 안전하게 (예 : HTTPS를 통해) 통과시켜 응용 프로그램 계층에 해시하는 것입니다. MySQL만으로는 적절한 암호 해싱을 수행하는 데 필요한 기능이 없습니다. SHA2는 완벽하게 부적절합니다. 즉, 설계 상 고속 해시로 인해 부적합합니다. 암호 해싱 알고리즘은 의도적으로 야만적 인 암호를 고통스럽게 값 비싸게 만드는 속도가 느립니다.
관련 문제
- 1. Wordpress mysql 암호 해시
- 2. NTP 서버 측 구현
- 3. RTCweb 서버 측 구현
- 4. Pushnotification 서버 측 구현
- 5. 서버 측 대 클라이언트 측 파일 해시
- 6. CORS Java 서버 측 구현
- 7. 요청 후 서버 측 구현
- 8. 어떤 종류의 암호 해시? 가능한 MySQL 해시?
- 9. AngularJS에서 서버 측 검색 상자 구현 방법
- 10. 탐색 링크가있는 서버 측 포함 구현 방법
- 11. SMB/CIFS 서버 측 구현
- 12. AngularJS로 서버 측 페이징 구현
- 13. nodejs의 FCM 서버 측 구현
- 14. 구현시 클라이언트 측 암호를 암호화하는 방법 MD5halsh 서버 측 암호 알고리즘
- 15. API 서버 또는 클라이언트의 암호 해시?
- 16. 더블 해시 암호 - 클라이언트 및 서버
- 17. MySQL 폼 인증 해시 된 암호 문제
- 18. 2-legged 서버 측 node.js에서 oauth 구현
- 19. 서버 측 추가, 변경 및 제거 구현
- 20. Java 용 GCM 서버 측 구현
- 21. 성숙한 WebSocket/Socket.io 서버 측 구현?
- 22. 안드로이드 푸시 서비스, gcm 서버 측 구현
- 23. 웹 소켓 사용/구현 서버 측
- 24. GCM 파이썬 서버 측 구현 : 오류 = MissingRegistration
- 25. 클라이언트 측 Kendo UI Grid로 서버 측 페이징을 구현 하시겠습니까?
- 26. 제공된 암호와 소금에 대한 암호 해시 복제 방법 (PHP/MySQL)
- 27. 구현 암호 분실 기능
- 28. 구현 방법 각도 2를 사용하여 서버 측 페이지 매김
- 29. 플라이 암호 기능 구현 방법
- 30. Delphi DEC Twofish 암호화 및 PHP의 서버 측 암호 해독
MITM 공격으로부터 보호하기위한 좋은 방법이라고 읽었 기 때문에 클라이언트를 해싱하고 있습니다. 하지만 제 질문은 당신이 말하는 것과 정확히 같습니다. 서버 측에서 bcrypt를 구현하려면 어떻게해야합니까? 가능하다면 SHA2를 피하고 싶습니다. – silvertiger
나는 그것을 어디에서 읽었는지, 올바르게 읽는지 모르겠습니다. SSL/TLS가 무의미하게 만들었 기 때문에 클라이언트 측 해싱을 시도한 유일한 것은 시도 응답 유형 시스템이며, 그 대부분은 사망했습니다. 채널 자체를 보호 할 수 있습니다. 해시 * 한 번, 제대로, 당신은 괜찮을거야. bcrypt, scrypt 또는 기타 암호 별 해싱 알고리즘, 특히 조절이 어려운 난이도 알고리즘이 핵심 요소입니다. – tadman
MySQL은 최소한 상자 밖에서는 bcrypt를 할 수 없습니다. 일반적으로 일부 응용 프로그램 계층에서 암호를 해싱하는 경우입니다. 그것은 Java, Python, Ruby, Node.js, PHP 일 수 있습니다. 중요하지 않습니다. 거의 모든 것이 bcrypt 구현을 가지고 있습니다. MySQL은 많은 RDBMses와 마찬가지로 데이터 저장소에 불과합니다. – tadman