資源簡介
C#實現的DES加解密的類文件源代碼、壓縮等功能。

代碼片段和文件信息
?/**////?
????///?DES
????///?
????public?class?DES_
????{
????????private?DES?mydes;
????????public?string?Key;
????????public?string?IV;
????????/**////?
????????///?對稱加密類的構造函數
????????///?
????????public?DES_(string?key)
????????{
????????????mydes?=?new?DESCryptoServiceProvider();
????????????Key?=?key;
????????????IV?=?“728#$$%^TyguyshdsufhsfwofnhKJHJKHIYhfiusf98*(^%$^&&(*&()$##@%%$RHGJJHHJ“;
????????}
????????/**////?
????????///?對稱加密類的構造函數
????????///?
????????public?DES_(string?key?string?iv)
????????{
????????????mydes?=?new?DESCryptoServiceProvider();
????????????Key?=?key;
????????????IV?=?iv;
????????}
????????/**////?
????????///?獲得密鑰
????????///?
????????///?密鑰
????????private?byte[]?GetLegalKey()
????????{
????????????string?sTemp?=?Key;
????????????mydes.GenerateKey();
????????????byte[]?bytTemp?=?mydes.Key;
????????????int?KeyLength?=?bytTemp.Length;
????????????if?(sTemp.Length?>?KeyLength)
????????????????sTemp?=?sTemp.Substring(0?KeyLength);
????????????else?if?(sTemp.Length?????????????????sTemp?=?sTemp.PadRight(KeyLength?‘?‘);
????????????return?ASCIIEncoding.ASCII.GetBytes(sTemp);
????????}
????????/**////?
????????///?獲得初始向量IV
????????///?
????????///?初試向量IV
????????private?byte[]?GetLegalIV()
????????{
????????????string?sTemp?=?IV;
????????????mydes.GenerateIV();
????????????byte[]?bytTemp?=?mydes.IV;
????????????int?IVLength?=?bytTemp.Length;
????????????if?(sTemp.Length?>?IVLength)
????????????????sTemp?=?sTemp.Substring(0?IVLength);
????????????else?if?(sTemp.Length?????????????????sTemp?=?sTemp.PadRight(IVLength?‘?‘);
????????????return?ASCIIEncoding.ASCII.GetBytes(sTemp);
????????}
????????/**////?
????????///?加密方法
????????///?
????????///?待加密的串
????????///?經過加密的串
????????public?string?Encrypt(string?Source)
????????{
????????????try
????????????{
????????????????byte[]?bytIn?=?UTF8Encoding.UTF8.GetBytes(Source);
????????????????MemoryStream?ms?=?new?MemoryStream();
????????????????mydes.Key?=?GetLegalKey();
????????????????mydes.IV?=?GetLegalIV();
????????????????ICryptoTransform?encrypto?=?mydes.CreateEncryptor();
????????????????CryptoStream?cs?=?new?CryptoStream(ms?encrypto?CryptoStreamMode.Write);
????????????????cs.Write(bytIn?0?bytIn.Length);
????????????????cs.FlushFinalBlock();
????????????????ms.Close();
????????????????byte[]?bytOut?=?ms.ToArray();
????????????????return?Convert.Tobase64String(bytOut);
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????throw?new?Exception(“在文件加密的時候出現錯誤!錯誤提示:?“?+?ex.Message);
????????????}
????????}
????????/**////?
????????///?解密方法
????????///?
????????///?待解密的串
????????///?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8747??2010-09-16?21:27??DES(使用去掉這里:加減密DES).cs
-----------?---------??----------?-----??----
?????????????????8747????????????????????1
- 上一篇:unity3d 連接外置攝像頭
- 下一篇:WPF視頻教程csdn最全
評論
共有 條評論