C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#字符串加密解密方法

C#字符串加密解密方法实例

作者:MeGoodtoo

这篇文章主要介绍了C#字符串加密解密方法,实例分析了C#对字符串加密与解密的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#字符串加密解密方法。分享给大家供大家参考。具体如下:

复制代码 代码如下:
#region 加密解密
static string encryptKey= "Oyea";

#region 加密字符串 public static string Encrypt(string str)

/// <summary>
/// 加密字符串
/// </summary>
/// <param name="str">要加密的字符串</param>
/// <returns>返回加密后的字符串</returns>
public static string Encrypt(string str)
{  
    DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();  //实例化加/解密类对象 
    byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定义字节数组,用来存储密钥  
    byte[] data = Encoding.Unicode.GetBytes(str);//定义字节数组,用来存储要加密的字符串
    MemoryStream MStream = new MemoryStream();//实例化内存流对象    
    //使用内存流实例化加密流对象 
    CryptoStream CStream = new CryptoStream(MStream,descsp.CreateEncryptor(key, key), CryptoStreamMode.Write);    
    CStream.Write(data,0, data.Length);  //向加密流中写入数据    
    CStream.FlushFinalBlock();             //释放加密流    
    return Convert.ToBase64String(MStream.ToArray());//返回加密后的字符串
}
#endregion

#region 解密字符串   public static string Decrypt(string str)

/// <summary>
/// 解密字符串
/// </summary>
/// <param name="str">要解密的字符串</param>
/// <returns>返回解密后的字符串</returns>
public static string Decrypt(string str)
{    
    DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();  //实例化加/解密类对象  
    byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定义字节数组,用来存储密钥  
    byte[] data = Convert.FromBase64String(str);//定义字节数组,用来存储要解密的字符串
    MemoryStream MStream = new MemoryStream();//实例化内存流对象    
    //使用内存流实例化解密流对象     
    CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write);  
    CStream.Write(data,0, data.Length);      //向解密流中写入数据   
    CStream.FlushFinalBlock();              //释放解密流    
    return Encoding.Unicode.GetString(MStream.ToArray());      //返回解密后的字符串
}
#endregion
#endregion

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:
阅读全文