日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C#一個字符串的加密與解密

 球球圓圓豆豆 2016-02-16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
  
namespace ConsoleApplication1
{
    class Program
    {
        static string encryptKey = "Oyea";    //定義密鑰 
  
        #region 加密字符串 
        /// <summary> /// 加密字符串  
        /// </summary> 
        /// <param name="str">要加密的字符串</param> 
        /// <returns>加密后的字符串</returns> 
        static string Encrypt(string str) 
        {   
            DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();   //實例化加/解密類對象  
    
            byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定義字節(jié)數(shù)組,用來存儲密鑰   
   
            byte[] data = Encoding.Unicode.GetBytes(str);//定義字節(jié)數(shù)組,用來存儲要加密的字符串 
     
            MemoryStream MStream = new MemoryStream(); //實例化內(nèi)存流對象     
  
            //使用內(nèi)存流實例化加密流對象  
            CryptoStream CStream = new CryptoStream(MStream, descsp.CreateEncryptor(key, key), CryptoStreamMode.Write);    
  
            CStream.Write(data, 0, data.Length);  //向加密流中寫入數(shù)據(jù)     
  
            CStream.FlushFinalBlock();              //釋放加密流     
  
            return Convert.ToBase64String(MStream.ToArray());//返回加密后的字符串 
        
        #endregion
  
        #region 解密字符串  
        /// <summary> 
        /// 解密字符串  
        /// </summary> 
        /// <param name="str">要解密的字符串</param> 
        /// <returns>解密后的字符串</returns> 
        static string Decrypt(string str) 
        {     
            DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();   //實例化加/解密類對象   
     
            byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定義字節(jié)數(shù)組,用來存儲密鑰   
    
            byte[] data = Convert.FromBase64String(str);//定義字節(jié)數(shù)組,用來存儲要解密的字符串 
      
            MemoryStream MStream = new MemoryStream(); //實例化內(nèi)存流對象     
   
            //使用內(nèi)存流實例化解密流對象      
            CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write);  
   
            CStream.Write(data, 0, data.Length);      //向解密流中寫入數(shù)據(jù)    
  
            CStream.FlushFinalBlock();               //釋放解密流     
  
            return Encoding.Unicode.GetString(MStream.ToArray());       //返回解密后的字符串 
        
        #endregion
  
        static void Main(string[] args)
        {
            Console.Write("請輸入要加密的字符串:");   //提示輸入字符串     
            Console.WriteLine();                  //換行輸入  
            string str = Console.ReadLine();     //記錄輸入的字符串     
            string strNew = Encrypt(str);              //加密字符串     
            Console.WriteLine("加密后的字符串:" + strNew);  //輸出加密后的字符串     
            Console.WriteLine("解密后的字符串:" + Decrypt(strNew)); //解密字符串并輸出    
            Console.ReadLine();
        }
    }
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多