C#的MD5加密算法和SHA1加密算法

using System;
using System.Security.Cryptography;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApplication11
{
    public static class CC
    {
        public static string ToStr(this Object obj)
        {
            if (obj == null)
            {
                return "";
            }
            else
            {
                return obj.ToString();
            }
        }

        public static byte[] GetBytes(string s)
        {
            try
            {
                return Encoding.Default.GetBytes(s);
            }
            catch
            {
                return null;
            }
        }

        public static string GetString(byte[] bytes)
        {
            try
            {
                return Encoding.Default.GetString(bytes);
            }
            catch
            {
                return "";
            }
        }

        public static string ToHexStr(byte[] bytes)
        {
            StringBuilder result = new StringBuilder(bytes.Length * 2);
            foreach (byte by in bytes)
            {
                result.Append(by.ToString("X2"));
            }

            return result.ToString();
        }

        public static string GetMD5(string s)
        {
            byte[] bytes = CC.GetBytes(s);

            using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
            {
                byte[] md5Hash = md5.ComputeHash(bytes);

                return CC.ToHexStr(bytes);
            }
        }

        public static string GetSha1(string s)
        {
            byte[] bytes = GetBytes(s);
            using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider())
            {
                byte[] sha1Hash = sha1.ComputeHash(bytes);

                return ToHexStr(sha1Hash);
            }
        }
    }
}
 

你可能感兴趣的:(C#)