zoukankan      html  css  js  c++  java
  • 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 命名空间。

  • 相关阅读:
    SettingsProvider 它SettingsCache
    14、Cocos2dx 3.0三,找一个小游戏开发Scene and Layer:游戏梦想
    open-flash-chart2各种效果
    Android使用surface直接显示yuv数据(三)
    LeetCode:Populating Next Right Pointers in Each Node
    zoj 3203 Light Bulb,三分之二的基本问题
    POJ 2485 Highways
    Leetcode
    android音乐柱状频谱实现
    Android自定义控件实战——水流波动效果的实现WaveView
  • 原文地址:https://www.cnblogs.com/anjou/p/1821799.html
Copyright © 2011-2022 走看看