免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版
打開APP
未登錄
開通VIP,暢享免費電子書等14項超值服
開通VIP
首頁
好書
留言交流
下載APP
聯(lián)系客服
c#字符串加密與解密封裝
NaturalWill
>《待分類1》
2014.12.27
關(guān)注
[csharp]
view plain
copy
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace 字符串加密解密封裝
{
/// <summary>
/// 字符串加密
/// </summary>
class Encryption_Decryption
{
static byte[] Key{get;set;}//加密的密鑰
static byte[] Iv{get;set;} //加密的初始化矢量,初始化加密函數(shù)的變量。
static Encryption_Decryption()
{
//算法簽名,這里我用的是TripleDES加密算法,TripleDESCryptoServiceProvider構(gòu)造方法同時會初始化一組隨機的key和IV。
TripleDESCryptoServiceProvider tDESalg = new TripleDESCryptoServiceProvider();
Key=tDESalg.Key;
Iv=tDESalg.IV;
}
/// <summary>
/// 字符串加密
/// </summary>
/// <param name="encStr">需要加密的字符串</param>
/// <returns>一個已經(jīng)加密的字符串的二進制流</returns>
public static byte[] EncStream(string encStr)
{
//將用戶傳進來的字符串轉(zhuǎn)換成編碼為UTF8的二進制流
byte[] encStrStream = Encoding.UTF8.GetBytes(encStr);
//建立一個MemoryStream,這里面存放加密后的數(shù)據(jù)流
MemoryStream mStream = new MemoryStream();
//使用MemoryStream和key,IV新建一個CryptoStream對象
CryptoStream cStream = new CryptoStream(mStream, new TripleDESCryptoServiceProvider().CreateEncryptor(Key, Iv), CryptoStreamMode.Write);
//將加密后的字節(jié)流寫入到MemoryStream
cStream.Write(encStrStream, 0, encStrStream.Length);
//把緩沖區(qū)中的最后狀態(tài)更新到MemoryStream,并清除cStream的緩存區(qū)
cStream.FlushFinalBlock();
// 把解密后的數(shù)據(jù)流轉(zhuǎn)成字節(jié)流
byte[] ret = mStream.ToArray();
//關(guān)閉兩個streams
cStream.Close();
mStream.Close();
return ret;
}
/// <summary>
/// 對加密二進制流進行解密
/// </summary>
/// <param name="byteStream">需要解密的二進制流</param>
/// <returns>返回一個已經(jīng)解密的字符串</returns>
public static string DecStrStream(byte[] byteStream)
{
// 建立一個MemoryStream,這里面存放加密后的數(shù)據(jù)流
MemoryStream msDecrypt = new MemoryStream(byteStream);
// 使用MemoryStream 和key、IV新建一個CryptoStream 對象
CryptoStream csDecrypt = new CryptoStream(msDecrypt, new TripleDESCryptoServiceProvider().CreateDecryptor(Key, Iv), CryptoStreamMode.Read);
// 根據(jù)密文byte[]的長度(可能比加密前的明文長),新建一個存放解密后明文的byte[]
byte[] DecryptDataArray = new byte[byteStream.Length];
// 把解密后的數(shù)據(jù)讀入到DecryptDataArray
csDecrypt.Read(DecryptDataArray, 0, DecryptDataArray.Length);
string DecStr = Encoding.UTF8.GetString(DecryptDataArray);
msDecrypt.Close();
csDecrypt.Close();
return DecStr;
}
}
class Program
{
//測試加密,解密都成功
static void Main(string[] args)
{
//加密測試
byte[] s = Encryption_Decryption.EncStream("你好");
foreach (byte b in s)
{
Console.WriteLine(b);
}
//解密測試
string ss = Encryption_Decryption.DecStrStream(s);
Console.WriteLine(ss);
Console.ReadKey();
}
}
}
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報
。
打開APP,閱讀全文并永久保存
查看更多類似文章
猜你喜歡
類似文章
保護自己的軟件
使用X.509數(shù)字證書加密解密實務(wù)(三)-- 使用RSA證書結(jié)合對稱加密技術(shù)加密長數(shù)據(jù)
字符串加密與解密
C#里的一些加密解密標準函數(shù)示例——DES,SHA1,RSA
C#一個字符串的加密與解密
用C#實現(xiàn)的數(shù)據(jù)加密(一) —— 對稱加密算法
更多類似文章 >>
生活服務(wù)
首頁
萬象
文化
人生
生活
健康
教育
職場
理財
娛樂
藝術(shù)
上網(wǎng)
留言交流
回頂部
聯(lián)系我們
分享
收藏
點擊這里,查看已保存的文章
導(dǎo)長圖
關(guān)注
一鍵復(fù)制
下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!
聯(lián)系客服
微信登錄中...
請勿關(guān)閉此頁面
先別劃走!
送你5元優(yōu)惠券,購買VIP限時立減!
5
元
優(yōu)惠券
優(yōu)惠券還有
10:00
過期
馬上使用
×