zoukankan      html  css  js  c++  java
  • 密码加密类(PermissionBase)

    using System;
    using
     System.Text;
    using
     System.IO;
    using
     System.Security.Cryptography;
    /// <summary>

    /// 字符串加密解密类。
    /// </summary>

    public sealed class StringSecurity
    {
        
    private
     StringSecurity() { }

        
    #region SHA1 加密


        
    /// <summary>
        
    /// 使用SHA1加密字符串。
        
    /// </summary>

        
    /// <param name="inputString">输入字符串。</param>
        
    /// <returns>加密后的字符串。(40个字符)</returns>
        public static string StringToSHA1Hash(string inputString)
        {
            SHA1CryptoServiceProvider sha1 
    = new
     SHA1CryptoServiceProvider();
            
    byte[] encryptedBytes =
     sha1.ComputeHash(Encoding.ASCII.GetBytes(inputString));
            StringBuilder sb 
    = new
     StringBuilder();
            
    for (int i = 0; i < encryptedBytes.Length; i++
    )
            {
                sb.AppendFormat(
    "{0:x2}"
    , encryptedBytes[i]);
            }
            
    return
     sb.ToString();
        }

        
    #endregion


        
    #region DES 加密/解密

        
    private static byte[] key = ASCIIEncoding.ASCII.GetBytes("caikelun");
        
    private static byte[] iv = ASCIIEncoding.ASCII.GetBytes("12345678"
    );

        
    /// <summary>

        
    /// DES加密。
        
    /// </summary>

        
    /// <param name="inputString">输入字符串。</param>
        
    /// <returns>加密后的字符串。</returns>
        public static string DESEncrypt(string inputString)
        {
            MemoryStream ms 
    = null
    ;
            CryptoStream cs 
    = null
    ;
            StreamWriter sw 
    = null
    ;

            DESCryptoServiceProvider des 
    = new
     DESCryptoServiceProvider();
            
    try

            {
                ms 
    = new MemoryStream();
                cs 
    = new
     CryptoStream(ms, des.CreateEncryptor(key, iv), CryptoStreamMode.Write);
                sw 
    = new
     StreamWriter(cs);
                sw.Write(inputString);
                sw.Flush();
                cs.FlushFinalBlock();
                
    return Convert.ToBase64String(ms.GetBuffer(), 0, (int
    )ms.Length);
            }
            
    finally

            {
                
    if (sw != null) sw.Close();
                
    if (cs != null
    ) cs.Close();
                
    if (ms != null
    ) ms.Close();
            }
        }

        
    /// <summary>

        
    /// DES解密。
        
    /// </summary>

        
    /// <param name="inputString">输入字符串。</param>
        
    /// <returns>解密后的字符串。</returns>
        public static string DESDecrypt(string inputString)
        {
            MemoryStream ms 
    = null
    ;
            CryptoStream cs 
    = null
    ;
            StreamReader sr 
    = null
    ;

            DESCryptoServiceProvider des 
    = new
     DESCryptoServiceProvider();
            
    try

            {
                ms 
    = new MemoryStream(Convert.FromBase64String(inputString));
                cs 
    = new
     CryptoStream(ms, des.CreateDecryptor(key, iv), CryptoStreamMode.Read);
                sr 
    = new
     StreamReader(cs);
                
    return
     sr.ReadToEnd();
            }
            
    finally

            {
                
    if (sr != null) sr.Close();
                
    if (cs != null
    ) cs.Close();
                
    if (ms != null
    ) ms.Close();
            }
        }

        
    #endregion


    }
     
  • 相关阅读:
    Ibatis 使用心得
    java.net.ConnectException: Connection timed out
    ZK 最少限度加载页面js文件
    JAVA 获取网页流
    ZK 页面间参数传递
    删除 TOMCAT 上次关闭遗留下来的 SESSION 缓存
    Java 异常java.lang.IllegalArgumentException: Illegal group reference
    ZK textbox Constraint验证
    zk textbox 更改字体大小及高度
    通过http管理solrcore
  • 原文地址:https://www.cnblogs.com/xbf321/p/896054.html
Copyright © 2011-2022 走看看