2014-06-19 4 views
1

SHA1을 사용하여 생성 된 해시를 확인하려는 문제가 발생했습니다. 리버스 엔지니어가 해시가 HMACSHA1 algo를 사용하여 생성되었는지 파악할 수 있습니까?해시가 SHA1을 사용하여 생성되었고 유효한 해시인지 확인할 수 있습니까?

+0

해시 된 데이터에 액세스 할 수 있습니까? –

+0

? 해시 생성에 사용 된 원본 메시지가없는 경우? 아닙니다. 단방향 해시입니다. –

+0

여기에 귀하의 상황은 무엇입니까? 당신의 해시는 어디에서오고 왜 제대로 해시되지 않았을 것이라고 생각합니까? 당신 편에서 해시로 뭐하고 있니? 누군가가 당신에게 해시를 보내고 그것이 SHA1이라고 말하면, 당신은 그 말을해야만합니다. 아마도 언젠가는 나중에 다시 보냈을 경우 같은 방식으로 해시 할 것이기 때문에 별 문제가되지 않을 것입니다. 그것이 적당한 길이인지 확인하는 사소한 점검이 있습니다. –

답변

1

아니요, 해시 코드에 생성 알고리즘이 무엇인지 알려주는 것은 없습니다. 강력한 해시 코드 알고리즘은 해시 코드에 추적 가능한 메타 데이터를 포함하지 않도록 특별히 설계되었습니다. 해시 코드를 해시 코드로 식별하는 특정 표시 자나 사용 된 알고리즘의 종류는 없습니다.

기본적으로 해시 알고리즘은 모든 입력을 시드로 사용하여 강력한 pseuo-random number를 만들려고합니다. 출력은 가능한 한 무작위 적이며 입력 데이터 또는 알고리즘을 식별하는 데 사용할 수있는 인식 할 수있는 패턴이 없습니다.

해시 코드를 만드는 데 사용 된 입력 데이터가있는 경우 다시 만들고 결과를 비교할 수 있습니다. 그러나 입력의 단 하나의 비트가 다른 경우 완전히 다른 해시 코드를 얻습니다. 따라서 입력은 완전히 동일해야합니다.

1

해시 된 데이터가있는 경우 해당 데이터에 SHA1 해시를 사용하고 해시 값을 비교하여 동일한지 확인할 수 있습니다. 동등한 경우 SHA1이 원래 사용되었습니다.

간단히 말해 해시 기능을 리버스 엔지니어링하여 뒤로 이동할 수 없습니다.