private static void CreateDigests() { var tempDir = "DigestTempDir"; IoHelpers.DeleteRecursivelyWithMagicDustAsync(tempDir).GetAwaiter(); Directory.CreateDirectory(tempDir); var torDaemonsDir = Path.Combine(LibraryProjectDirectory, "TorDaemons"); string torWinZip = Path.Combine(torDaemonsDir, "tor-win32.zip"); IoHelpers.BetterExtractZipToDirectoryAsync(torWinZip, tempDir).GetAwaiter(); File.Move(Path.Combine(tempDir, "Tor", "tor.exe"), Path.Combine(tempDir, "TorWin")); string torLinuxZip = Path.Combine(torDaemonsDir, "tor-linux64.zip"); IoHelpers.BetterExtractZipToDirectoryAsync(torLinuxZip, tempDir).GetAwaiter(); File.Move(Path.Combine(tempDir, "Tor", "tor"), Path.Combine(tempDir, "TorLin")); string torOsxZip = Path.Combine(torDaemonsDir, "tor-osx64.zip"); IoHelpers.BetterExtractZipToDirectoryAsync(torOsxZip, tempDir).GetAwaiter(); File.Move(Path.Combine(tempDir, "Tor", "tor"), Path.Combine(tempDir, "TorOsx")); string hwiSoftwareDir = Path.Combine(LibraryProjectDirectory, "Hwi", "Software"); string hwiWinZip = Path.Combine(hwiSoftwareDir, "hwi-win64.zip"); IoHelpers.BetterExtractZipToDirectoryAsync(hwiWinZip, tempDir).GetAwaiter(); File.Move(Path.Combine(tempDir, "hwi.exe"), Path.Combine(tempDir, "HwiWin")); string hwiLinuxZip = Path.Combine(hwiSoftwareDir, "hwi-linux64.zip"); IoHelpers.BetterExtractZipToDirectoryAsync(hwiLinuxZip, tempDir).GetAwaiter(); File.Move(Path.Combine(tempDir, "hwi"), Path.Combine(tempDir, "HwiLin")); string hwiOsxZip = Path.Combine(hwiSoftwareDir, "hwi-osx64.zip"); IoHelpers.BetterExtractZipToDirectoryAsync(hwiOsxZip, tempDir).GetAwaiter(); File.Move(Path.Combine(tempDir, "hwi"), Path.Combine(tempDir, "HwiOsx")); var tempDirInfo = new DirectoryInfo(tempDir); var binaries = tempDirInfo.GetFiles(); Console.WriteLine("Digests:"); foreach (var file in binaries) { var filePath = file.FullName; var hash = ByteHelpers.ToHex(IoHelpers.GetHashFile(filePath)).ToLowerInvariant(); Console.WriteLine($"{file.Name} : {hash}"); } IoHelpers.DeleteRecursivelyWithMagicDustAsync(tempDir).GetAwaiter(); }