Example #1
0
            public static uint HashFilename(string filename)
            {
                //if (filename.Length > 12)
                //	filename = filename.Substring(0, 12);
                filename = filename.ToUpperInvariant();
                int l = filename.Length;
                int a = l >> 2;

                if ((l & 3) != 0)
                {
                    filename += (char)(l - (a << 2));
                    int i = 3 - (l & 3);
                    while (i-- != 0)
                    {
                        filename += filename[a << 2];
                    }
                }
                return(CRC32.CalculateCrc(Encoding.ASCII.GetBytes(filename)));
            }