문제

WebProject 용 PHP / MySQL 로그인 시스템에서 작업하고 있습니다.웹 ive의 기사를 많이 통해보고있는 후에는 기본 프레임 워크를 제시하고 일부 코드를 작성하기 시작했습니다.그러나 ive는 암호 암호화에서 약간의 불가사물에옵니다.

야간에 독서 Ive 가치가있는 후 :

  • 적어도 SHA1 또는 SHA2
  • 를 가진 사용자 암호를 받아야합니다.
  • 또한 무작위로 생성 된 소금을 사용해야합니다 (이것은 내가 필요로하는 것입니다)을 사용해야합니다.
  • 를 암호화하기 전에 암호에 추가해야합니다.
  • 해시 암호와 무작위로 생성 된 소금을 데이터베이스에 저장 한 다음 쿼리 및 결합 / 암호화 된 다음 사용자 해시 암호에 대해 확인해야합니다.

내 문제가 무작위로 소금을 생성하는 것,

도움이 되었습니까?

해결책

내가 생각할 수있는 가능성 :

  • mt_rand () 루프에서 ASCII 코드를 선택하려면 < href="http://php.net/chr%28%29"rel="nofollow"> chr () 및 연결 소금에

    이것은 길이가있는 소금을 만들 수 있습니다.

  • 사용 가능한 문자로 문자열을 정의하고, 루프에서 mt_rand () mt_rand () random 위치를 선택하십시오 "Nofollow"> substr () 또는 mb_substr () 연결 소금으로

    선택한 문자 세트와 길이가있는 염을 만들 수 있습니다.

  • 임의의 문자열을 생성하는 내장 기능 (예 : UniQID () ) 및 선택적으로 해시 .

    이것은 빠르고 간단합니다.

일반적으로 두 번째 옵션을 사용합니다.

다른 팁

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top