| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Security.Cryptography;using Aitex.Core.RT.Log;namespace Aitex.Core.Utilities{    public class Md5Helper    {        /// <summary>        /// md5 string compare        /// </summary>        /// <param name="input"></param>        /// <param name="hash"></param>        /// <returns></returns>        public static bool VerifyMd5Hash(string input, string hash)        {            string hashOfInput = GetMd5Hash(input);            StringComparer comparer = StringComparer.OrdinalIgnoreCase;            if (0 == comparer.Compare(hashOfInput, hash))                return true;            return false;        }        /// <summary>        /// get md5 string        /// </summary>        /// <param name="input"></param>        /// <returns></returns>        public static string GetMd5Hash(string input)        {            MD5 md5Hasher = MD5.Create();            byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));            StringBuilder sBuilder = new StringBuilder();            for (int i = 0; i < data.Length; i++)            {                sBuilder.Append(data[i].ToString("x2"));            }            return sBuilder.ToString();        }        public static string GenerateDynamicPassword(string serialNum)        {            try            {                string genString = "promaxy" + serialNum + DateTime.Now.ToString("yyyyMMdd");                string hash = Md5Helper.GetMd5Hash(genString);                return hash.Substring(0, 8);            }            catch (Exception ex)            {                LOG.WriteExeption(ex);                return "";            }        }    }}
 |