문제

"잊어 버린 비밀번호"메커니즘을 만들 때 SHA1을 사용하여 저장된 사용자를위한 Tempory 암호를 만들 수 있습니다 (다른 C# 암호화 메커니즘을 자유롭게 제안하십시오).

Tempory 비밀번호를 얼마나 오래 만들어야합니까? 너무 짧아서 무자비한 강제 일 수 있습니다. 어쨌든 문자열이 해시되기 때문에 너무 길고 불필요한 길이가 중복됩니다. (20 자와 50 개의 문자열이 어쨌든 같은 길이의 해시를 초래하기 때문에)

업데이트
이것이 오해의 소지가 있다면 죄송합니다. 물론 우리는 공중에서 숫자를 선택할 수 있지만 12보다 13을 선택 해야하는 좋은 수학적 이유가 있는지 궁금합니다.

도움이 되었습니까?

해결책

나는 이것이 임시 암호에 대한 좋은 조언이라고 생각합니다.

양식 기반 웹 사이트 인증에 대한 결정적인 안내서

그것은 사용자가 원하는 실제 행동에 도달하는 데 유리하게 그들을 생성하는 것을 피하는 것에 대해 이야기합니다.

다른 팁

나는 일반적으로 10 자로 간다. 그에 대한 특별한 이유는 없으며, 내가 추측하는 것은 사용자가 선택한 비밀번호의 평균 길이 이상입니다.

무작위로 생성되었다는 사실만으로도 사용자가 선택한 것보다 더 안전하고 힘이 더 어려울 것입니다. 사람들은 MySpace1, StackoverFlow1, 12341234 등과 같은 어리석은 암호를 선택합니다.

비밀번호가 영숫자 인 경우 문자 당 약 6 비트의 사용 가능한 데이터 만 있으므로 20 자 미만의 암호를 만드는 것은 의미가 없다는 것이 잘못되었습니다.

임시 비밀번호를 사용자의 암호보다 강하게 만드는 것에 대해 걱정하는 것 같습니다 ... 실제로 10-character base-64 (또는 이와 유사한 구두점 등)와 같은 것이 깨지기가 매우 어렵고 훨씬 더 강해질 것 같습니다. 사용자가 생성하는 암호보다 ....

가변 크기 (예 : 8-12 문자)로 만들 수있는 무차별 적 힘이 더 어려워집니다 ... 공격자가 X 문자 암호를 반환한다는 것을 알고 있다면 N과 함께 모든 암호를 시도하는 것입니다. N은 크지 않지만 비현실적이지만 N 크기를 변경하면 적어도 그들에게 훨씬 더 어려워 질 것입니다.

Steve Gibson은매우 높은 보안 비밀번호 생성기".
이 페이지에서 그는 모든 페이지 디스플레이에서 3 가지 암호를 생성합니다.

  • 64 무작위 16 진 문자 (0-9 및 AF)
  • 63 무작위 인쇄용 ASCII 문자
  • 63 무작위 알파 수문 문자 (AZ, AZ, 0-9)

그는 또한 이에 대한 이유를 설명합니다. 좋은 읽기입니다. 도움이 되었기를 바랍니다.

사용자에게 권장되는대로 사이트가 지정할 수있는 길이를 찾으십시오. Base64 Chars의 임의의 문자열을 생성 할 때 밤에는 8 개의 암호로 안전하게 잠을 자게됩니다. 그러나 물론 로그인 시도는 x 초마다 한 번씩 한 번씩 로그인 시도를 제한하고 y가 실패한 후 계정을 일시적으로 비활성화합니다.

그리고 사용자당 독특한 사용자를 추가하는 것을 잊지 마십시오 소금 해싱 전에 데이터베이스 기반 공격을 방해합니다.

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