Example #1
0
        public void It_should_test_equality_by_value()
        {
            var part1 = new ByteArrayPart(@"1234567890");
            var part2 = new ByteArrayPart(@"1234567890");
            var part3 = new ByteArrayPart(@"123456789-");
            var part4 = new ByteArrayPart(@"123456789");
            var part5 = new ByteArrayPart(@"12345678901");

            Assert.IsTrue(part1.IsEqualValue(part2));
            Assert.IsFalse(part1.IsEqualValue(part3));
            Assert.IsFalse(part1.IsEqualValue(part4));
            Assert.IsFalse(part1.IsEqualValue(part5));

            Assert.IsTrue(part1 == part2);
            Assert.IsTrue(part1 != part3);
            Assert.IsTrue(part1 != part4);
            Assert.IsTrue(part1 != part5);

            var bytes2 = Encoding.UTF8.GetBytes(@"1234567890");
            var bytes3 = Encoding.UTF8.GetBytes(@"123456789-");
            var bytes4 = Encoding.UTF8.GetBytes(@"123456789");
            var bytes5 = Encoding.UTF8.GetBytes(@"12345678901");

            Assert.IsTrue(part1.Equals(bytes2));
            Assert.IsFalse(part1.Equals(bytes3));
            Assert.IsFalse(part1.Equals(bytes4));
            Assert.IsFalse(part1.Equals(bytes5));
        }
            public byte[] CalculateHa2(ByteArrayPart qop, ByteArrayPart digestUri, ByteArrayPart method, ArraySegment <byte> body)
            {
                byte[] bodyHash = null;
                //	if (messageQop.IsValid == true && messageQop.IsEqualValue(AuthInt))
                if (qop.Equals(AuthInt))
                {
                    if (body.Array != null && body.Count > 0)
                    {
                        bodyHash = md5.ComputeHash(body.Array, body.Offset, body.Count);
                    }
                }

                md5.Initialize();
                md5.TransformBlock(method);
                md5.TransformBlock(Colon);

                if (bodyHash != null)
                {
                    md5.TransformBlock(digestUri);
                    md5.TransformBlock(Colon);
                    HexEncoding.GetLowerHexChars(bodyHash, bytes32);
                    md5.TransformFinalBlock(bytes32);
                }
                else
                {
                    md5.TransformFinalBlock(digestUri);
                }

                return(md5.Hash);
            }
Example #3
0
		public void It_should_test_equality_by_value()
		{
			var part1 = new ByteArrayPart(@"1234567890");
			var part2 = new ByteArrayPart(@"1234567890");
			var part3 = new ByteArrayPart(@"123456789-");
			var part4 = new ByteArrayPart(@"123456789");
			var part5 = new ByteArrayPart(@"12345678901");

			Assert.IsTrue(part1.IsEqualValue(part2));
			Assert.IsFalse(part1.IsEqualValue(part3));
			Assert.IsFalse(part1.IsEqualValue(part4));
			Assert.IsFalse(part1.IsEqualValue(part5));

			Assert.IsTrue(part1 == part2);
			Assert.IsTrue(part1 != part3);
			Assert.IsTrue(part1 != part4);
			Assert.IsTrue(part1 != part5);

			var bytes2 = Encoding.UTF8.GetBytes(@"1234567890");
			var bytes3 = Encoding.UTF8.GetBytes(@"123456789-");
			var bytes4 = Encoding.UTF8.GetBytes(@"123456789");
			var bytes5 = Encoding.UTF8.GetBytes(@"12345678901");

			Assert.IsTrue(part1.Equals(bytes2));
			Assert.IsFalse(part1.Equals(bytes3));
			Assert.IsFalse(part1.Equals(bytes4));
			Assert.IsFalse(part1.Equals(bytes5));
		}
			public byte[] CalculateHa2(ByteArrayPart qop, ByteArrayPart digestUri, ByteArrayPart method, ArraySegment<byte> body)
			{
				byte[] bodyHash = null;
				//	if (messageQop.IsValid == true && messageQop.IsEqualValue(AuthInt))
				if (qop.Equals(AuthInt))
					if (body.Array != null && body.Count > 0)
						bodyHash = md5.ComputeHash(body.Array, body.Offset, body.Count);

				md5.Initialize();
				md5.TransformBlock(method);
				md5.TransformBlock(Colon);

				if (bodyHash != null)
				{
					md5.TransformBlock(digestUri);
					md5.TransformBlock(Colon);
					HexEncoding.GetLowerHexChars(bodyHash, bytes32);
					md5.TransformFinalBlock(bytes32);
				}
				else
					md5.TransformFinalBlock(digestUri);

				return md5.Hash;
			}