예제 #1
0
파일: hash.cs 프로젝트: dearing/sandbox
        public static String DigestFile(String uri, DigestMode mode = DigestMode.SHA1)
        {
            byte[] data = new byte[0];

            if (File.Exists(uri))
            {
                FileInfo fi = new FileInfo(uri);
                switch (mode)
                {
                    case DigestMode.MD5:
                        data =    MD5.Create().ComputeHash(fi.OpenRead());
                        break;
                    case DigestMode.SHA1:
                        data =   SHA1.Create().ComputeHash(fi.OpenRead());
                        break;
                    case DigestMode.SHA256:
                        data = SHA256.Create().ComputeHash(fi.OpenRead());
                        break;
                    case DigestMode.SHA384:
                        data = SHA384.Create().ComputeHash(fi.OpenRead());
                        break;
                    case DigestMode.SHA512:
                        data = SHA512.Create().ComputeHash(fi.OpenRead());
                        break;
                }
            }

            return Engine.Byte2hex(data);
        }
예제 #2
0
파일: hash.cs 프로젝트: dearing/sandbox
        public static String DigestString(String g, DigestMode mode = DigestMode.SHA1)
        {
            byte[] data = new byte[0];
            switch (mode)
            {
            case DigestMode.MD5:
                data = MD5.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                break;

            case DigestMode.SHA1:
                data = SHA1.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                break;

            case DigestMode.SHA256:
                data = SHA256.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                break;

            case DigestMode.SHA384:
                data = SHA384.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                break;

            case DigestMode.SHA512:
                data = SHA512.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                break;
            }

            return(Engine.Byte2hex(data));
        }
예제 #3
0
파일: hash.cs 프로젝트: dearing/sandbox
        public static String DigestFile(String uri, DigestMode mode = DigestMode.SHA1)
        {
            byte[] data = new byte[0];

            if (File.Exists(uri))
            {
                FileInfo fi = new FileInfo(uri);
                switch (mode)
                {
                case DigestMode.MD5:
                    data = MD5.Create().ComputeHash(fi.OpenRead());
                    break;

                case DigestMode.SHA1:
                    data = SHA1.Create().ComputeHash(fi.OpenRead());
                    break;

                case DigestMode.SHA256:
                    data = SHA256.Create().ComputeHash(fi.OpenRead());
                    break;

                case DigestMode.SHA384:
                    data = SHA384.Create().ComputeHash(fi.OpenRead());
                    break;

                case DigestMode.SHA512:
                    data = SHA512.Create().ComputeHash(fi.OpenRead());
                    break;
                }
            }

            return(Engine.Byte2hex(data));
        }
예제 #4
0
        public HashMaker(DigestMode type)
        {
            switch (type)
            {
            case DigestMode.SHA1:
                digest = new Sha1Digest();
                break;

            default:
                throw new Exception("Unknown DigestMode:" + type);
            }
        }
예제 #5
0
파일: hash.cs 프로젝트: dearing/sandbox
        public static String DigestString(String g, DigestMode mode = DigestMode.SHA1)
        {
            byte[] data = new byte[0];
            switch (mode)
            {
                case DigestMode.MD5:
                    data =    MD5.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                    break;
                case DigestMode.SHA1:
                    data =   SHA1.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                    break;
                case DigestMode.SHA256:
                    data = SHA256.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                    break;
                case DigestMode.SHA384:
                    data = SHA384.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                    break;
                case DigestMode.SHA512:
                    data = SHA512.Create().ComputeHash(Encoding.ASCII.GetBytes(g));
                    break;
            }

            return Engine.Byte2hex(data);
        }
예제 #6
0
 public static HashMaker GetInstance(DigestMode type)
 {
     return(new HashMaker(type));
 }