public TP_DataCodingScheme(int[] binaryRepresentaion)
        {
            this.value = binaryRepresentaion;

            this.integerRepresentation = BaseConversionHelper.BinaryToDecimal(this.value);

            this.octetRepresentation = this.integerRepresentation.ToString("X2");
        }
Example #2
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 #3
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 #4
0
        public Address(string codedAddressField)
        {
            int length = int.Parse(codedAddressField.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);

            this.m_AddressValue = BaseConversionHelper.DecimalSemiOctetToDecimal(codedAddressField.Substring(4, codedAddressField.Length - 4)).ToString();

            if (this.m_AddressValue.Length != length)
            {
                throw new NotImplementedException();
            }

            int[] typeOfAddress = BaseConversionHelper.HexToBinary(codedAddressField.Substring(2, 2));

            this.m_TypeOfNumber = (TypeOfNumber)BaseConversionHelper.BinaryToDecimal(new int[] { typeOfAddress[4], typeOfAddress[5], typeOfAddress[6] });

            this.m_NumberingPlanIdentification = (NumberingPlanIdentification)BaseConversionHelper.BinaryToDecimal(new int[] { typeOfAddress[0], typeOfAddress[1], typeOfAddress[2], typeOfAddress[3] });
        }
Example #5
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);
        }