FormatBytes() private static method

Gets the hex digits for the given bytes
private static FormatBytes ( byte value ) : string
value byte
return string
Beispiel #1
0
        /// <summary>
        /// Generates a unique hash from byte[]
        /// </summary>
        /// <param name="buffer"></param>
        /// <returns></returns>
        protected static string ComputeHash(byte[] value)
        {
            byte[] hash;
            lock (HashProvider)
            {
                // generate hash
                hash = HashProvider.ComputeHash(value);
            }

            // convert hash to string
            return(ETag.FormatBytes(hash));
        }
Beispiel #2
0
        /// <summary>
        /// Sets ETag.Value
        /// </summary>
        /// <param name="Entity"></param>
        protected virtual string CalculateETag()
        {
            bool   isHash;
            object metaData = this.GetMetaData(out isHash);

            string etag;

            if (metaData is Guid)
            {
                etag = ((Guid)metaData).ToString("N");
            }
            else if (metaData is string)
            {
                if (isHash)
                {
                    etag = (string)metaData;
                }
                else
                {
                    etag = ETag.ComputeHash((string)metaData);
                }
            }
            else if (metaData is byte[])
            {
                if (isHash)
                {
                    etag = ETag.FormatBytes((byte[])metaData);
                }
                else
                {
                    etag = ETag.ComputeHash((byte[])metaData);
                }
            }
            else if (metaData is Stream)
            {
                etag = ETag.ComputeHash((Stream)metaData);
            }
            else
            {
                throw new NotSupportedException("GetMetaData must return Guid, String, Byte[], or Stream");
            }

            return("\"" + etag + "\"");
        }