public static void Default_4_ValidateInHex_WithContent() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); Assert.True(sha256.ValidateInHex("", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")); Assert.True(sha256.ValidateInHex("123", "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3")); }
public static void Default_2_ValidateInBase64_WithContent() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); Assert.True(sha256.ValidateInBase64("", "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")); Assert.True(sha256.ValidateInBase64("123", "pmWkWSBCL51Bfkhn79xPuKBKHz//H6B+mY6G9/eieuM=")); }
public static void Default_5_ValidateInAll_WithContent() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); Assert.True(sha256.ValidateInAll("", "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")); Assert.True(sha256.ValidateInAll("123", "pmWkWSBCL51Bfkhn79xPuKBKHz//H6B+mY6G9/eieuM=")); Assert.True(sha256.ValidateInAll("", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")); Assert.True(sha256.ValidateInAll("123", "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3")); }
public static void Default_1_GenerateInBase64_WithContent() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); var value = sha256.GenerateInBase64(""); Assert.Equal("47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", value); var value2 = sha256.GenerateInBase64("123"); Assert.Equal("pmWkWSBCL51Bfkhn79xPuKBKHz//H6B+mY6G9/eieuM=", value2); }
public static void Default_3_GenerateInHex_WithContent() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); var value = sha256.GenerateInHex(""); Assert.Equal("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", value); var value2 = sha256.GenerateInHex("123"); Assert.Equal("a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3", value2); }
public static void FileVerifierTest_Default_5_Sha256_Hex() { var filePath = Path.Combine(Path.GetTempPath(), $"__test_{Guid.NewGuid().ToString()}__"); var fileInfo = new FileInfo(filePath); File.WriteAllText(filePath, Guid.NewGuid().ToString()); var checksum = Sha256.GetInstance().GenerateInHex(fileInfo); var verified = FileVerifier.VerifyAsync(fileInfo, fileInfo.Length, checksum, FileVerifier.ChecksumType.Sha256, CancellationToken.None).Result; Assert.True(verified); try { fileInfo.Delete(); } catch (Exception) { } }
public static void Default_2_ValidateInBase64Async_WithFile() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); var path = @"%USERPROFILE%\TestData.Sha1.txt"; if (!Runtime.Platform.IsWindows) { path = @"%HOME%/TestData.Sha1.txt"; } var file = new FileInfo(Environment.ExpandEnvironmentVariables(path)); Assert.True(sha256.ValidateInBase64Async(file, "ElwW3xccv1CczBJBzICd7wi1Sgc8PIoKo8DkweLMhWo=").Result); }
public static void Default_4_ValidateInHexAsync_WithFile() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); var path = @"%USERPROFILE%\TestData.Sha1.txt"; if (!Runtime.Platform.IsWindows) { path = @"%HOME%/TestData.Sha1.txt"; } var file = new FileInfo(Environment.ExpandEnvironmentVariables(path)); Assert.True(sha256.ValidateInHexAsync(file, "125c16df171cbf509ccc1241cc809def08b54a073c3c8a0aa3c0e4c1e2cc856a").Result); }
public static void Default_5_ValidateInAll_WithFile() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); var path = @"%USERPROFILE%\TestData.Sha1.txt"; if (!Runtime.Platform.IsWindows) { path = @"%HOME%/TestData.Sha1.txt"; } var file = new FileInfo(Environment.ExpandEnvironmentVariables(path)); Assert.True(sha256.ValidateInAll(file, "ElwW3xccv1CczBJBzICd7wi1Sgc8PIoKo8DkweLMhWo=")); Assert.True(sha256.ValidateInAll(file, "125c16df171cbf509ccc1241cc809def08b54a073c3c8a0aa3c0e4c1e2cc856a")); }
public static async Task <bool> VerifyAsync( FileInfo fileInfo, long size, string checksum, ChecksumType checksumType, CancellationToken cancellationToken) { if (fileInfo == null || !fileInfo.Exists || fileInfo.Length != size) { return(false); } switch (checksumType) { case ChecksumType.Md5: if (checksum.Length == 32) { return(checksum == await Md5.GetInstance() .GenerateInHexAsync(fileInfo, cancellationToken).ConfigureAwait(false)); } if (checksum.Length == 24) { return(checksum == await Md5.GetInstance() .GenerateInBase64Async(fileInfo, cancellationToken).ConfigureAwait(false)); } break; case ChecksumType.Sha1: if (checksum.Length == 40) { return(checksum == await Sha1.GetInstance() .GenerateInHexAsync(fileInfo, cancellationToken).ConfigureAwait(false)); } if (checksum.Length == 28) { return(checksum == await Sha1.GetInstance() .GenerateInBase64Async(fileInfo, cancellationToken).ConfigureAwait(false)); } break; case ChecksumType.Sha256: if (checksum.Length == 64) { return(checksum == await Sha256.GetInstance() .GenerateInHexAsync(fileInfo, cancellationToken).ConfigureAwait(false)); } if (checksum.Length == 44) { return(checksum == await Sha256.GetInstance() .GenerateInBase64Async(fileInfo, cancellationToken).ConfigureAwait(false)); } break; } throw new NotSupportedException($"Not supported! path: {fileInfo.FullName} size: {size} checksum: {checksum} checksumType: {checksumType}"); }
public static void Default_0_GetInstance() { var sha256 = Sha256.GetInstance(); Assert.NotNull(sha256); }