• C# DES 加密


    代码
    /// <summary>
    /// DES加密
    /// </summary>
    /// <param name="toEncryptString">要加密的字符串</param>
    /// <param name="keyString">密钥(必须为8位)</param>
    /// <returns>以Base64格式返回的加密字符串</returns>
    public static string DESEncrypt(string toEncryptString, string keyString)
    {
        
    using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
        {
            
    byte[] toEncryptBytes = Encoding.UTF8.GetBytes(toEncryptString);
            des.Key 
    = ASCIIEncoding.ASCII.GetBytes(keyString);
            des.IV 
    = ASCIIEncoding.ASCII.GetBytes(keyString);
            System.IO.MemoryStream ms 
    = new System.IO.MemoryStream();
            
    using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
            {
                cs.Write(toEncryptBytes, 
    0, toEncryptBytes.Length);
                cs.FlushFinalBlock();
                cs.Close();
            }
            
    string encryptedString = Convert.ToBase64String(ms.ToArray());
            ms.Close();
            
    return encryptedString;
        }
    }

    /// <summary>
    /// DES解密
    /// </summary>
    /// <param name="toDecryptString">要解密的Base64字符串</param>
    /// <param name="keyString">密钥(必须为8位)</param>
    /// <returns>已解密的字符串</returns>
    public static string DESDecrypt(string toDecryptString, string keyString)
    {
        
    byte[] toDecryptBytes = Convert.FromBase64String(toDecryptString);
        
    using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
        {
            des.Key 
    = ASCIIEncoding.ASCII.GetBytes(keyString);
            des.IV 
    = ASCIIEncoding.ASCII.GetBytes(keyString);
            System.IO.MemoryStream ms 
    = new System.IO.MemoryStream();
            
    using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
            {
                cs.Write(toDecryptBytes, 
    0, toDecryptBytes.Length);
                cs.FlushFinalBlock();
                cs.Close();
            }
            
    string decryptedString = Encoding.UTF8.GetString(ms.ToArray());
            ms.Close();
            
    return decryptedString;
        }

    要引用 System.Security.Cryptography 命名空间。

  • 相关阅读:
    最难的事
    性格决定命运,习惯决定未来
    系统构架师之路
    时间是经不起浪费的
    如何投资自己,增加自身价值!
    最好的程序员大多是自学成才的
    杂记
    Win7启动Oracle出错
    推荐代码生成器工具排行
    Hibernate 与 Oracle 11g 的问题
  • 原文地址:https://www.cnblogs.com/anjou/p/1821799.html
Copyright © 2020-2023  润新知