2014-12-01 5 views
0

ASP.Net 웹 응용 프로그램의 내 로그인 기능 나는 더 많은 보안 검색 방법을 사용할 계획이었고 그래서 나는 많은 것을 봤고 마침내 발견했다 : CrackStation.net. 그것은 정말 놀랍습니다 .. 질문은 데이터베이스에 소금과 해쉬 된 암호를 저장하는 방법을 언급하지 않았다는 것입니다. 다음은 Crack Station에서 발견 된 코드입니다. 브라우저에서 실행할 수있는 DotNetFiddle Snippet도 있습니다.소금과 해시 암호를 저장하는 방법 C# 데이터베이스

은 내가 ... 암호를 데이터베이스에 저장 (판금 및 해시를 모두 연결하여 하나 개의 컬럼에 저장)하는 방법을 모르거나 (예 : 소금 같은 다른 열에서 각각 소금 열 및 해시 해시 열입니다) 할

단계별로 단계별로 설명해주십시오. 데이터베이스에 저장하고 데이터베이스에서 검색하고 해독 처리하는 암호 해시 및 해시 처리에 대해 설명하십시오.

소금과 해시가 같습니까?

언제 소금을 만듭니다 (무작위 소금)? 왜 우리는 SQL 데이터베이스에서 별도의 열에 소금을 저장 ?? 데이터베이스 칼럼에 소금을 저장했는데 사용해야합니까?

분명히 언급하십시오. (모든 소스 코드 예)

감사합니다.

+0

질문이 명확하지 않습니다. –

+0

그래서 한 행을 n 번 –

답변

1

원하는 내용이 확실하지 않습니다. 당신에게 예를 보여 그냥

이이

;WITH cte 
    AS (SELECT 1 AS rn 
     UNION ALL 
     SELECT rn + 1 
     FROM cte 
     WHERE rn < 3) -- Count 
SELECT id 
FROM cte 
     CROSS JOIN (SELECT 1003 id) B 
+1

@TT 번 반복하고 싶습니다. 이제 downvote –

1
  1. 그것은 많은 차이가되지 않습니다 응답하고, 당신은 별도의 컬럼에 소금과 해시, 또는 그 (것)들을 연결하여 하나에 넣어 수 있습니다 칼럼 (clarification). 그들을 분리 된 컬럼에 두는 것이 더 쉽습니다.
  2. 해시를 계산하기 전에 소금을 만듭니다.

    • 는 보안 채널
    • 해시 (H)를 검색하고 소금 (S)를 통해 서버에 후보 암호 (CP)을 전송 :

암호가 올바른지 확인하려면 데이터베이스에서.

  • 후보 해시 (CH) 후보 암호 (CP)과 소금 (S)
  • 해시 (H)와 후보 해시 (CH)을 비교를 사용하여 계산
  • 없는 해시가 있는지 확인 또는 소금이 고객에게 전달됩니다.

    +0

    을 제거 할 수 있습니다. 귀하의 질문이 명확하지 않으므로 귀하의 질문에 대한 대답이 내 대답과 다를 수 있습니다. –

    +0

    답변 해 주셔서 감사합니다 !! 내가 소금 + 해시를 연결하고 하나의 열에 저장하는 방법을 검색하고 암호가 지정된 해시 및 소금 값과 일치하는지 확인 ??? –

    +0

    @ user1663855 –

    관련 문제