질문의 제목을 재구성 명확히하는 것입니다 SHA는 두 파일을 모두 해시하고 둘 다 같은 합계를 갖는지 비교합니다.
System.Security.Cryptography의 MD5CryptoServiceProvider 및 SHA512CryptoServiceProvider를 확인하십시오.
private string ComputeHashAsText(byte[] fileBytes)
{
using (SHA512CryptoServiceProvider cryptoService = new SHA512CryptoServiceProvider())
{
return Encoding.ASCII.GetString(cryptoService.ComputeHash(fileBytes));
}
}
public bool CompareFiles(string pathA, string pathB)
{
string hashPathA = ComputeHashAsText(File.ReadAllBytes(pathA));
string hashPathB = ComputeHashAsText(File.ReadAllBytes(pathB));
return hashPathA == hashPathB;
}
실제 솔루션에서 당신은 아마 파일이 메모리와 해시에 대한 모든 바이트를 읽을 너무 큰 비교하기 때문에, 덩어리 나 이런 일에 해시를 계산 할 수 있습니다 :
그것은이 같은 뭔가 그들.
* 동일한 디스크의 동일한 위치에 저장된 것과 똑같이 * 동일합니까? – fredley
어떤 파일 시스템입니까? – OrangeDog
@fredley, 파일 시스템의 같은 위치, 같은 속성, 같은 것 ... 모두 –