MD5の役割は、以下を参照してください。https://baike.baidu.com/item/MD5/212708?fr=aladdin
パブリック静的文字列GetFileMD5(文字列ファイルパス) { のFileStream FS =新しいFileStreamを(ファイルパス、FileMode.Open、FileAccess.Read、FileShare.Read)。 int型がbufferSize = 1048576; バイト[]バフ=新しいバイト[bufferSizeの]。 MD5CryptoServiceProvider MD5 =新しいMD5CryptoServiceProvider(); md5.Initialize(); 長いオフセット= 0; 一方(<fs.Lengthオフセット) { 長いREADSIZE =あるbufferSize。 IF(オフセット+ READSIZE> fs.Length) READSIZE = fs.Length -オフセット。 fs.Read(バフ、0、Convert.ToInt32(READSIZE))。 (+ READSIZE <fs.Lengthオフセット)の場合 md5.TransformBlock(バフ、0、Convert.ToInt32(READSIZE)、バフ、0); 他 md5.TransformFinalBlock(バフ、0、Convert.ToInt32(READSIZE)); + = bufferSizeのオフセット。 } IF(オフセット> = fs.Length) { fs.Close()。 バイト[]結果= md5.Hash。 md5.Clear(); StringBuilderのSB =新しいStringBuilderの(32)。 (; iがresult.Lengthを<I ++はiが0 = INT)のため sb.Append([I] .ToString( "X2")をもたらします)。 sb.ToStringを返します(); } 他 { fs.Close()。 リターンはnull; } }
ファイルへの絶対パス:ファイルパス