Example #1
0
 public void TestBaseConversionWithRandomStrings()
 {
     for (int i = 0; i < 10000; i++)
     {
         var someRandomName = new Random().NextRandomName();
         var md5InBase16    = someRandomName.GetMD5Hash();
         Assert_IsBase16(md5InBase16);
         var b64 = BaseConversionHelper.FromHexStringtoBase64String(md5InBase16);
         Assert_IsBase64(b64);
         Assert.Equal(md5InBase16, BaseConversionHelper.FromBase64StringToHexString(b64));
     }
 }
Example #2
0
        public void StringBaseConversion()
        {
            var base64String    = "8Uie51Oz+GZcufyQ8q2GwA=="; // An example md5 hash in base 64
            var base16HexString = BaseConversionHelper.FromBase64StringToHexString(base64String);

            Assert.Equal("F1489EE753B3F8665CB9FC90F2AD86C0", base16HexString);
            var newBase64String = BaseConversionHelper.FromHexStringtoBase64String(base16HexString);

            Assert.Equal(base64String, newBase64String);
            Assert_IsBase64(base64String);
            Assert_IsBase16(base16HexString);
        }
Example #3
0
        /// <summary> Returns the MD5 hash in hex (base 16) if available in the headers </summary>
        public string GetMD5Checksum()
        {
            var md5Hash = GetHeaderValue("content-md5", null);

            if (md5Hash.IsNullOrEmpty())    // If the normal md5 header was not found, check for others:
            // Google uses the "x-goog-hash" header instead containing an md5 hash as well:
            {
                if (TryGetXGoogMd5HashInBase64(this, out var xGoogMd5))
                {
                    md5Hash = xGoogMd5;
                }
            }
            if (md5Hash.IsRegexMatch(RegexTemplates.MD5_HASH_BASE64))
            {
                md5Hash = BaseConversionHelper.FromBase64StringToHexString(md5Hash);
            }
            return(md5Hash);
        }