모든 사용자에게 절대적으로 독창적 인 소금을 만드는 방법은 무엇입니까? time()
함수를 PHP에서 사용하는 것이 더 좋습니까?우리 시간에 암호를 해독하는 가장 좋은 방법은
답변
는 간단한 uniqid(mt_rand(), true)
은 임의의 소금을 생성 할 것입니다. 복어와 결합하면 꽤 좋은 암호 해시를 제공해야합니다.
대체물은 /dev/urandom
또는 openssl_pseudo_random_bytes()
과 같은 의사 랜덤 소스입니다. 또한 무작위 데이터를 생성하는 서비스 (라디오 활성 저하를 기반으로)가 있습니다.
http://codahale.com/how-to-safely-store-a-password/
한 가지 방법이 문서에서 살펴 어쩌면 당신은이 글 또한 http://www.gregboggs.com/php-blowfish-random-salted-passwords/
에 유용한 무언가를 찾을 것입니다 .. 비 무작위 대신 임의 소금 사용을 고려하는 것은을 생성하는 것입니다 고유 한 소금을 모든 사용자에게 제공하고 그 소금을 DB에 저장하십시오.
또 다른 좋은 접근 방법은 암호를 해시를 생성하는 알고리즘이 두 번째 이상의 소금을 계산해야합니다 (). 더 복잡한 당신의 해싱 알고리즘이 될 것이다 - 더 문제는 당신이 PHP에 microtime()
기능을 사용할 수 있습니다
$salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
"나는 반드시 두 번째 이상의 소금을 계산해야합니다."라는 말을 이해하지 못합니다. 실행하는 데 1 초 이상이 걸릴 것입니까? 이것에 대해 자세히 설명해주십시오. – nullability
@nullability 예, 실행하는 데 1 초 이상 – Ribtoks
사용이 줄을 해킹하고 싶은 사람을 직면하게 될 것이다 초 단위가 아닌 마이크로 초를 기준으로 숫자를 생성하므로 사용자가 다른 사용자와 같은 소금을 가질 수 없습니다. 이 번호에 사용자 ID를 곱할 수도 있습니다.
어쩌면 md5(uniqid())
이면 소금으로도 충분할 수 있습니다.
편집 : uniqid()
기능으로 more_entropy 매개 변수를 언급하는 것을 잊었습니다. 그것은 낮은 동일한 문자열의 가능성 함수가 동일한 마이크로에서 두 번 실행되므로 편집 기능과 같아야도됩니다 많은 경우에
$salt = md5(uniqid($user_id, TRUE));
PHP 강한 소금을 생성하여 DB를
- 1. 암호를 해독하는 가장 좋은 방법은 무엇입니까?
- 2. github에서 암호를 다루는 가장 좋은 방법은 무엇입니까?
- 3. base64를 사용하여 암호화하고 암호를 해독하는 방법은 무엇입니까?
- 4. 암호를 해독하는 일반적인 개념은 무엇입니까?
- 5. 암호를 해독하는 방법 공개 키
- 6. 데이터베이스로 사용되는 XML 파일을 암호화하고 해독하는 가장 좋은 방법은 무엇입니까?
- 7. Objective-C .txt 파일에서 NSString을 해독하는 가장 좋은 방법
- 8. 그려진 획을 사용하여 데이터의 암호를 해독하는 알고리즘
- 9. perl에서 Kerberos 티켓의 암호를 해독하는 방법
- 10. CCDECrypt를 사용하여 암호를 해독하는 동안 EXC_BAD_ACCESS
- 11. Node.js에서 암호화 된 암호를 해독하는 방법
- 12. wordpress에 의해 생성 된 암호를 해독하는 방법
- 13. 특정 시간에 Observable 메서드를 호출하는 가장 좋은 방법은 무엇입니까?
- 14. 특정 시간에 매일 데이터베이스를 백업하는 가장 좋은 방법은 무엇입니까?
- 15. 데이터베이스에 암호를 저장해야 할 때 가장 좋은 방법은 무엇입니까
- 16. C++에서 블록 암호를 처리하는 가장 좋은 방법은 무엇입니까? (Crypto ++)
- 17. 델파이에서 암호를 해독하고 보여줄 수있는 가장 좋은 방법은 무엇입니까
- 18. iPhone에 사용자 이름과 암호를 저장하는 가장 좋은 방법은 무엇입니까?
- 19. Qt/C++로 파일을 암호화하고 암호를 해독하는 방법은 무엇입니까?
- 20. 비밀번호 복구 : md5 암호화 된 암호를 해독하는 방법은 무엇입니까?
- 21. PHP에서 이미지 파일을 암호화하고 암호를 해독하는 방법은 무엇입니까?
- 22. Java에서 사운드 파일을 암호화하고 암호를 해독하는 방법은 무엇입니까?
- 23. Drupal 데이터베이스의 MD5 알고리즘을 사용하여 암호를 해독하는 방법은 무엇입니까?
- 24. ASP.Net에서 파일을 암호화하고 Silverlight에서 암호를 해독하는 방법은 무엇입니까?
- 25. PHP를 사용하여 해시 된 암호를 해독하는 방법은 무엇입니까?
- 26. HMACSHA1로 암호화 된 문자열의 암호를 해독하는 방법은 무엇입니까?
- 27. CLI에서 파일을 암호화하고 iOS로 암호를 해독하는 방법은 무엇입니까?
- 28. 가장 좋은 방법은
- 29. FormsAuthenticationTicket을 해독하는 방법은 무엇입니까?
- 30. Ruby에서 MD5를 해독하는 방법은 무엇입니까?
나는 [link] (http://php.net/openssl_random_pseudo_bytes)에서 openssl_random_pseudo_bytes()라고 생각합니다. –