public void HandleMachineAuthCallback(SteamUser user, SteamUser.UpdateMachineAuthCallback obj) { int fileSize; byte[] sentryHash; using (var fs = Sentry.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite)) { fs.Seek(obj.Offset, SeekOrigin.Begin); fs.Write(obj.Data, 0, obj.BytesToWrite); fileSize = (int)fs.Length; fs.Seek(0, SeekOrigin.Begin); using (var sha = SHA1.Create()) { sentryHash = sha.ComputeHash(fs); } } // inform the steam servers that we're accepting this sentry file user.SendMachineAuthResponse(new SteamUser.MachineAuthDetails { JobID = obj.JobID, FileName = obj.FileName, BytesWritten = obj.BytesToWrite, FileSize = fileSize, Offset = obj.Offset, Result = EResult.OK, LastError = 0, OneTimePassword = obj.OneTimePassword, SentryFileHash = sentryHash, }); }