C#得到隨機安全碼(哈希加密)的封裝類

pdkie 9年前發布 | 984 次閱讀 C#

using System;
using System.Text;
using System.Security.Cryptography;
namespace DotNet.Utilities
{
    /// <summary>
    /// 得到隨機安全碼(哈希加密)。
    /// </summary>
    public class HashEncode
    {
        public HashEncode()
        {
            //
            // TODO: 在此處添加構造函數邏輯
            //
        }
        /// <summary>
        /// 得到隨機哈希加密字符串
        /// </summary>
        /// <returns></returns>
        public static string GetSecurity()
        {          
            string Security = HashEncoding(GetRandomValue());      
            return Security;
        }
        /// <summary>
        /// 得到一個隨機數值
        /// </summary>
        /// <returns></returns>
        public static string GetRandomValue()
        {          
            Random Seed = new Random();
            string RandomVaule = Seed.Next(1, int.MaxValue).ToString();
            return RandomVaule;
        }
        /// <summary>
        /// 哈希加密一個字符串,sharejs.com
        /// </summary>
        /// <param name="Security"></param>
        /// <returns></returns>
        public static string HashEncoding(string Security)
        {                      
            byte[] Value;
            UnicodeEncoding Code = new UnicodeEncoding();
            byte[] Message = Code.GetBytes(Security);
            SHA512Managed Arithmetic = new SHA512Managed();
            Value = Arithmetic.ComputeHash(Message);
            Security = "";
            foreach(byte o in Value)
            {
                Security += (int) o + "O";
            }
            return Security;
        }
    }
}

 本文由用戶 pdkie 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!