public bool Verify(string guid)
        {
            if (string.IsNullOrWhiteSpace(guid))
            {
                return(false);
            }
            // Check 68 chars long
            if (guid.Length != 68)
            {
                return(false);
            }
            // Alpha numeric
            if (!ValidateUtils.IsAlphaNumeric(guid))
            {
                return(false);
            }

            string sha256   = guid.Substring(0, 64);
            string checksum = guid.Substring(64, 4);

            string checkSha256        = _hasher.Hash(sha256);
            string checksumCalculated = checkSha256.Substring(0, 4);

            if (!checksum.Equals(checksumCalculated))
            {
                return(false);
            }

            return(true);
        }
        public bool Verify(string guid)
        {
            if (string.IsNullOrWhiteSpace(guid))
            {
                return(false);
            }
            // Check 32 chars long
            if (guid.Length != 36)
            {
                return(false);
            }
            // Alpha numeric
            if (!ValidateUtils.IsAlphaNumeric(guid))
            {
                return(false);
            }

            string md5      = guid.Substring(0, 32);
            string checksum = guid.Substring(32, 4);

            string checkMd5           = _hasher.Hash(md5);
            string checksumCalculated = checkMd5.Substring(0, 4);

            if (!checksum.Equals(checksumCalculated))
            {
                return(false);
            }

            return(true);
        }
Example #3
0
        public bool Verify(string guid)
        {
            if (string.IsNullOrWhiteSpace(guid))
            {
                return(false);
            }
            // Check 32 chars long
            if (guid.Length != 32)
            {
                return(false);
            }

            // Alpha numeric
            if (!ValidateUtils.IsAlphaNumeric(guid))
            {
                return(false);
            }
            return(true);
        }