ComputeCrcHash() 공개 메소드

public ComputeCrcHash ( String input ) : uint
input String
리턴 uint
예제 #1
0
        public void Crc32()
        {
            var crc = new Crc32();
            var hash = crc.ComputeCrcHash("abc123");

            Assert.AreEqual("cf02bb5c", hash.ToString("X").ToLower());
        }
예제 #2
0
        public String BuildUrl(String path)
        {
            if (path.StartsWith("http"))
            {
                path = WebUtility.UrlEncode(path);
            }

            int index = 0;

            if (ShardStrategy == ShardStrategyType.CRC)
            {
                var c = new Crc32();
                var hash = c.ComputeCrcHash(path);

                index = ((int)hash)%Domains.Length;
            }

            else if (ShardStrategy == ShardStrategyType.CYCLE)
            {
                index = (ShardCycleIndex++)%Domains.Length;
            }

            var domain = Domains.ElementAt(index);

            if (SignWithLibrary)
            {
                Parameters.Add("ixlib", String.Format("csharp-{0}", Assembly.GetExecutingAssembly().GetName().Version));
            }

            return GenerateUrl(path, domain);
        }