91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解C#DES加密解密的實現

發布時間:2021-11-24 09:16:14 來源:億速云 閱讀:282 作者:柒染 欄目:編程語言

這篇文章將為大家詳細講解有關如何理解C#DES加密解密的實現,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

C# DES加密解密的實現,DES算法為密碼體制中的對稱密碼體制,由IBM公司研制的對稱密碼體制加密算法。其核心為密鑰長度為56位,明文按64位進行分組,將分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。

C# DES加密解密的實現實例:

C# DES加密解密之名稱空間  :

using  System;    using  System.Security.Cryptography;    using  System.IO;    using  System.Text;

C# DES加密解密之方法 :

//加密方法    publicstring  Encrypt(string  pToEncrypt,  string  sKey)    {     DESCryptoServiceProvider  des  =  new  DESCryptoServiceProvider();     //把字符串放到byte數組中      //原來使用的UTF8編碼,我改成Unicode編碼了,不行     byte[]  inputByteArray  =  Encoding.Default.GetBytes(pToEncrypt);     //byte[]  inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);

C# DES加密解密之建立加密對象的密鑰和偏移量 

 //原文使用ASCIIEncoding.ASCII方法的GetBytes方法     //使得輸入密碼必須輸入英文文本     des.Key  =  ASCIIEncoding.ASCII.GetBytes(sKey);     des.IV  =  ASCIIEncoding.ASCII.GetBytes(sKey);     MemoryStream  ms  =  new  MemoryStream();     CryptoStream  cs  =  new  CryptoStream(  ms,  des.CreateEncryptor(),CryptoStreamMode.Write);     //Write  the  byte  array  into  the  crypto  stream     //(It  will  end  up  in  the  memory  stream)     cs.Write(inputByteArray,  0,  inputByteArray.Length);     cs.FlushFinalBlock();     //Get  the  data  back  from  the  memory  stream,  and  into  a  string     StringBuilder  ret  =  new  StringBuilder();     foreach(byte  b  in  ms.ToArray())       {       //Format  as  hex       ret.AppendFormat("{0:X2}",  b);       }     ret.ToString();     return  ret.ToString();    }

C# DES加密解密之解密方法 

publicstring  Decrypt(string  pToDecrypt,  string  sKey)    {     DESCryptoServiceProvider  des  =  new  DESCryptoServiceProvider();      //Put  the  input  string  into  the  byte  array     byte[]  inputByteArray  =  new  byte[pToDecrypt.Length  /  2];     for(int  x  =  0;  x  <  pToDecrypt.Length  /  2;  x++)     {     int  i  =  (Convert.ToInt32(pToDecrypt.Substring(x  *  2,  2),  16));    inputByteArray[x]  =  (byte)i;     }

C# DES加密解密之建立加密對象的密鑰和偏移量,此值重要,不能修改 

 des.Key  =  ASCIIEncoding.ASCII.GetBytes(sKey);     des.IV  =  ASCIIEncoding.ASCII.GetBytes(sKey);     MemoryStream  ms  =  new  MemoryStream();     CryptoStream  cs  =  new  CryptoStream(ms,    des.CreateDecryptor(),CryptoStreamMode.Write);     //Flush  the  data  through  the  crypto  stream  into  the  memory  stream     cs.Write(inputByteArray,  0,  inputByteArray.Length);     cs.FlushFinalBlock();      //Get  the  decrypted  data  back  from  the  memory  stream     //建立StringBuild對象,  //CreateDecrypt使用的是流對象,必須把解密后的文本變成流對象     StringBuilder  ret  =  new  StringBuilder();          return  System.Text.Encoding.Default.GetString(ms.ToArray());    }

關于如何理解C#DES加密解密的實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

des
AI

徐汇区| 屏南县| 湘乡市| 井研县| 明水县| 铁岭市| 临猗县| 西贡区| 呈贡县| 栖霞市| 司法| 康定县| 揭西县| 亳州市| 即墨市| 裕民县| 太湖县| 沁源县| 余江县| 通州区| 桂林市| 武定县| 三穗县| 孝昌县| 新巴尔虎左旗| 黄浦区| 玉门市| 陆丰市| 临沭县| 皮山县| 龙门县| 综艺| 兴安县| 平定县| 孟津县| 栾城县| 遵义市| 明水县| 安义县| 万年县| 宜州市|