視頻上看到的例子,對(duì)著視頻打了一遍代碼,測(cè)試失敗,上網(wǎng)搜索后改了一下測(cè)試成功,不知道為什么跟視頻上打的一樣的代碼視頻上測(cè)試的正確而我的測(cè)試出錯(cuò)的,先不管了,先記下來(lái),以備后用!
測(cè)試代碼:
測(cè)試效果:
/// <summary>字符串加解密
///
/// </summary>
public class Encrypt
{
private SymmetricAlgorithm mCSP;
private const string CIV = "oo*/^fsA"; //密鑰, 只能是8位
private const string CKEY = "f123$dew"; //初始化向量, 只能是8位
public Encrypt()
{
mCSP = new DESCryptoServiceProvider();
}
/// <summary>加密字符串
///
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
public string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
// 這里視頻上用的是Convert.FromBase64String(CKEY/CIV),但是我用的話總是出現(xiàn)錯(cuò)誤,什么大小不對(duì)
ct = mCSP.CreateEncryptor(Encoding.ASCII.GetBytes(CKEY), Encoding.ASCII.GetBytes(CIV));
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
/// <summary>解密字符串
///
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
public string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateDecryptor(Encoding.ASCII.GetBytes(CKEY), Encoding.ASCII.GetBytes(CIV));
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.UTF8.GetString(ms.ToArray());
}
}
測(cè)試代碼:
static void Main(string[] args)
{
Console.Write("請(qǐng)輸入要加密的字符串:");
string str = Console.ReadLine();
Console.WriteLine("加密后:" + new Encrypt().EncryptString(str));
Console.ReadLine();
Console.Write("請(qǐng)輸入要解密的字符串:");
string str2 = Console.ReadLine();
Console.WriteLine("解密后:" + new Encrypt().DecryptString(str2));
Console.ReadLine();
}
測(cè)試效果:
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

