2013-07-22 4 views
1

저는 이걸 매우 n00b입니다. 내가 묻는 것이 맞는지 확실하지 않습니다.RSA SignHash가있는 서명 된 해시에서 돌아 가기

일부 패키지의 암호를 해독하도록 요청 받았지만 패키지가 암호화되지 않고 바이트 ([]) 패키지가 암호로 보호되어 있습니다.

이제 비밀번호를 검색해야합니다. 나는 코드에서 추적이 온 :

lSupraHeader = lCryptoTransformRSA.SignHash(lSupraHeader, CryptoConfig.MapNameToOID("SHA512")); 

lSupraHeader은 (다른 것들 사이) 암호가 들어있는 바이트 []입니다. 내가 패스워드를 읽을 수있는 lSupraHeader에서 문자열을 얻는다면 문제는 그 "SignHash"이후에는 더 이상 얻을 수 없다는 것입니다. 글쎄, 어떻게해야할지 모르겠군요.

그 코드는 얼마전에 만들어졌고, 그것을 변경하는 것은 나를위한 선택 사항이 아닙니다.

거기에서 암호를 가져 오는 방법이 있습니까? 내가 무엇을 제공했는지 또는 다른 것을 필요로하는지 부탁하는 것이 맞습니까?

답변

2

거기에서 암호를 가져 오는 방법이 있습니까?

아니요. 일단 데이터가 해시되면 해시 할 수 없습니다.

SHA는 "단방향 해싱 알고리즘"이라고도합니다. 그것은 어떤 양의 데이터도 넣을 수 있고 유한 한 양의 데이터가 나오도록 설계되었습니다. 이러한 방법은 여러 가지 해결 방법이있는 결함이 있지만 두 데이터가 같은지 확인하기 위해 유용합니다.

암호화는 데이터를 가져 와서 키를 사용하고 크기가 원래 데이터와 대략 동일한 임의의 데이터를 뱉어냅니다. 동일한 키를 사용하여 무작위 데이터를 암호화하지 않거나 해독하여 원본 데이터를 얻을 수 있습니다.

내가 코드에서 추적이 온 :

그걸 어떻게 알게 되었습니까

는 것을 말해 두 겠는데? 소스 코드와 디버거에 액세스 할 수있는 것으로 보입니다. 이것이 사실이라면 디버거에서 "즉각적인 창"을 찾을 수 있는지 확인하십시오. 중단 점을 설정하고 Console.WriteLine(whatever)을 실행하고 수동으로 암호를 검색 할 수 있습니다. 이렇게하면 원래 코드는 변경되지 않습니다.

+0

나는이 코드를 작성할 수있다. 이 소스 코드에 액세스 할 수 있습니다. 문제는 내가 그 zip 파일을 (패스워드로 보호 된 .zip이 들어있는) 패키지를 열어야한다는 것이다. 코드를 디버깅하여 암호화 프로세스를 이해했지만 해당 시나리오를 발견했습니다. –

+1

@NickLScott : "패키지"의 의미에 혼란 스럽습니다. 폴더 나 zip이 포함 된 임의의 바이트 배열을 가지고 있다는 뜻입니까? 또는 바이트 배열이 zip인지 여부 아니면 완전히 다른 것? –

+0

.zip 파일을 나타내는 임의의 바이트 배열과 헤더 및 일부 더 많은 데이터가 있습니다. 이 내용이 삭제되기를 바랍니다. 충분히 명확하지 않은 것에 대해 사과드립니다. –