From dd0d0474023d652edb4d03e5c3bf04e7cebcdca4 Mon Sep 17 00:00:00 2001 From: Gang Zhuo Date: Mon, 23 Nov 2015 23:52:54 +0800 Subject: [PATCH] override MD5, so compatible with FIPS --- shadowsocks-csharp/Data/libsscrypto.dll.gz | Bin 47058 -> 48781 bytes shadowsocks-csharp/Encryption/EncryptorBase.cs | 2 +- shadowsocks-csharp/Encryption/IVEncryptor.cs | 5 +- shadowsocks-csharp/Encryption/MbedTLS.cs | 68 +++++++++++++++++++++ shadowsocks-csharp/Encryption/PolarSSLEncryptor.cs | 2 +- shadowsocks-csharp/shadowsocks-csharp.csproj | 1 + test/UnitTest.cs | 15 +++++ 7 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 shadowsocks-csharp/Encryption/MbedTLS.cs diff --git a/shadowsocks-csharp/Data/libsscrypto.dll.gz b/shadowsocks-csharp/Data/libsscrypto.dll.gz index b042986074202b38d3189a9142a2d9ea8f17b772..544c80bfeaa76315f82892588d3fbace38a902d9 100755 GIT binary patch literal 48781 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 UZ$AG6i%&A*0Av9G0RRC1|19oLga7~l literal 47058 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 + diff --git a/test/UnitTest.cs b/test/UnitTest.cs index 1970e85f..7cbcee1c 100755 --- a/test/UnitTest.cs +++ b/test/UnitTest.cs @@ -22,6 +22,21 @@ namespace test Assert.IsTrue(UpdateChecker.Asset.CompareVersion("1.3.2", "1.3.1") > 0); } + [TestMethod] + public void TestMD5() + { + for (int len = 1; len < 64; len++) + { + System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create(); + byte[] bytes = new byte[len]; + var random = new Random(); + random.NextBytes(bytes); + string md5str = Convert.ToBase64String(md5.ComputeHash(bytes)); + string md5str2 = Convert.ToBase64String(MbedTLS.MD5(bytes)); + Assert.IsTrue(md5str == md5str2); + } + } + private void RunEncryptionRound(IEncryptor encryptor, IEncryptor decryptor) { byte[] plain = new byte[16384];