zoukankan      html  css  js  c++  java
  • Asp.net 加密解密类

    namespace Wedn.Net
    {
        /// <summary> 
        /// EncryptHelper 来′自? wedn.net 
        /// </summary> 
        public class EncryptHelper
        {
            // 提á供?8个?字?符?作÷为aDES密ü钥?(¨程ì序ò自?动ˉ截?取?前°8个?字?符?)? 
            private static string key = "iceStone";
    
            /// <summary>
            /// DES对?称?加ó密ü解a密ü的?密ü钥?
            /// </summary> 
            public static string Key
            {
                get
                {
                    return key;
                }
                set
                {
                    key = value;
                }
            }
    
            /// <summary>
            /// MD5 加ó密ü(¨不?可é逆?加ó密ü)?
            /// </summary>
            /// <param name="pass">要a加ó密ü的?原-始?字?串?</param>
            /// <returns></returns> 
            public static string MD5Encrypt(string pass)
            {
                System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass));
                md5.Clear();
                string strResult = BitConverter.ToString(bytResult);
                strResult = strResult.Replace("-", "");
                return strResult;
                /* 另í一?种?方?法¨
                pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "MD5");
                return pass;
                */
            }
    
            /// <summary>
            /// SHA1 加ó密ü(¨不?可é逆?加ó密ü)?
            /// </summary>
            /// <param name="pass">要a加ó密ü的?原-始?字?串?</param>
            /// <returns></returns> 
            public static string SHA1Encrypt(string pass)
            {
                System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
                byte[] bytResult = sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass));
                sha1.Clear();
                string strResult = BitConverter.ToString(bytResult);
                strResult = strResult.Replace("-", "");
                return strResult;
                /* 另í一?种?方?法¨
                pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "SHA1");
                return pass;
                */
            }
    
            /// <summary>
            /// DES加ó密ü字?符?串?
            /// </summary>
            /// <param name="encryptString">待y加ó密ü的?字?符?串?</param>
            /// <returns>加ó密ü成é功|返μ回?加ó密ü后ó的?字?符?串?,?失§败ü返μ回?源′串?</returns> 
            public static string DESEncrypt(string encryptString)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
                    byte[] rgbIV = rgbKey;
                    byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
                    DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
                    MemoryStream mStream = new MemoryStream();
                    CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                    cStream.Write(inputByteArray, 0, inputByteArray.Length);
                    cStream.FlushFinalBlock();
                    cStream.Close();
                    return Convert.ToBase64String(mStream.ToArray());
                }
                catch
                {
                    return encryptString;
                }
            }
    
            /// <summary>
            /// DES解a密ü字?符?串?
            /// </summary>
            /// <param name="decryptString">待y解a密ü的?字?符?串?</param>
            /// <returns>解a密ü成é功|返μ回?解a密ü后ó的?字?符?串?,?失§败ü返μ源′串?</returns> 
            public static string DESDecrypt(string decryptString)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
                    byte[] rgbIV = rgbKey;
                    byte[] inputByteArray = Convert.FromBase64String(decryptString);
                    DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
                    MemoryStream mStream = new MemoryStream();
                    CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                    cStream.Write(inputByteArray, 0, inputByteArray.Length);
                    cStream.FlushFinalBlock();
                    cStream.Close();
                    return Encoding.UTF8.GetString(mStream.ToArray());
                }
                catch
                {
                    return decryptString;
                }
            }
    
            /// <summary>
            /// 将?普?通¨字?符?串?编à码?为aBASE64字?串?
            /// </summary>
            /// <param name="str">源′字?符?串?</param>
            /// <returns></returns> 
            public static string Base64Encode(string str)
            {
                return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));
            }
    
            /// <summary>
            /// 解a码?BASE64字?串?
            /// </summary>
            /// <param name="str">Base64字?串?</param>
            /// <returns></returns> 
            public static string Base64Decode(string base64Str)
            {
                return Encoding.UTF8.GetString(Convert.FromBase64String(base64Str));
            }
        }
    }
    
    专注互联网开发的:斯通麦博
  • 相关阅读:
    VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布 Inchroy's Blog 博客频道 CSDN.NET
    编写可丢弃的代码
    c++ using namespace std; 海明威 博客园
    解决MySQL server has gone away
    nginx upstream 调度策略
    (2006, 'MySQL server has gone away') 错误解决 dba007的空间 51CTO技术博客
    Linux IO模型漫谈(2) 轩脉刃 博客园
    redis源码笔记 initServer 刘浩de技术博客 博客园
    MySQLdb批量插入数据
    词库的扩充百度百科的抓取你知道这些热词吗? rabbit9898 ITeye技术网站
  • 原文地址:https://www.cnblogs.com/icestone10/p/3250611.html
Copyright © 2011-2022 走看看