亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c# 實現MD5,SHA1,SHA256,SHA512等常用加密算法源代碼

2020-01-24 03:37:41
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

using System;
using System.IO;
using System.Data;
using System.Text;
using System.Diagnostics;
using System.Security;
using System.Security.Cryptography;
/**//*
* .Net框架由于擁有CLR提供的豐富庫支持,只需很少的代碼即可實現先前使用C等舊式語言很難實現的加密算法。本類實現一些常用機密算法,供參考。其中MD5算法返回Int的ToString字串。返回數字字母型結果的算法參見之前Blog文章
*/
namespace 檔案數字化加工
{
/**//// <summary>
/// 類名:HashEncrypt
/// 作用:對傳入的字符串進行Hash運算,返回通過Hash算法加密過的字串。
/// 屬性:[無]
/// 構造函數額參數:
/// IsReturnNum:是否返回為加密后字符的Byte代碼
/// IsCaseSensitive:是否區分大小寫。
/// 方法:此類提供MD5,SHA1,SHA256,SHA512等四種算法,加密字串的長度依次增大。
/// </summary>
public class HashEncrypt
{
//private string strIN;
private bool isReturnNum;
private bool isCaseSensitive;
/**//// <summary>
/// 類初始化,此類提供MD5,SHA1,SHA256,SHA512等四種算法,加密字串的長度依次增大。
/// </summary>
/// <param name="IsCaseSensitive">是否區分大小寫</param>
/// <param name="IsReturnNum">是否返回為加密后字符的Byte代碼</param>
public HashEncrypt(bool IsCaseSensitive, bool IsReturnNum)
{
this.isReturnNum = IsReturnNum;
this.isCaseSensitive = IsCaseSensitive;
}
private string getstrIN(string strIN)
{
//string strIN = strIN;
if (strIN.Length == 0)
{
strIN = "~NULL~";
}
if (isCaseSensitive == false)
{
strIN = strIN.ToUpper();
}
return strIN;
}
public string MD5Encrypt(string strIN)
{
//string strIN = getstrIN(strIN);
byte[] tmpByte;
MD5 md5 = new MD5CryptoServiceProvider();
tmpByte = md5.ComputeHash(GetKeyByteArray(getstrIN(strIN)));
md5.Clear();
return GetStringValue(tmpByte);
}
public string SHA1Encrypt(string strIN)
{
//string strIN = getstrIN(strIN);
byte[] tmpByte;
SHA1 sha1 = new SHA1CryptoServiceProvider();
tmpByte = sha1.ComputeHash(GetKeyByteArray(strIN));
sha1.Clear();
return GetStringValue(tmpByte);
}
public string SHA256Encrypt(string strIN)
{
//string strIN = getstrIN(strIN);
byte[] tmpByte;
SHA256 sha256 = new SHA256Managed();
tmpByte = sha256.ComputeHash(GetKeyByteArray(strIN));
sha256.Clear();
return GetStringValue(tmpByte);
}
public string SHA512Encrypt(string strIN)
{
//string strIN = getstrIN(strIN);
byte[] tmpByte;
SHA512 sha512 = new SHA512Managed();
tmpByte = sha512.ComputeHash(GetKeyByteArray(strIN));
sha512.Clear();
return GetStringValue(tmpByte);
}
/**//// <summary>
/// 使用DES加密(Added by niehl 2005-4-6)
/// </summary>
/// <param name="originalValue">待加密的字符串</param>
/// <param name="key">密鑰(最大長度8)</param>
/// <param name="IV">初始化向量(最大長度8)</param>
/// <returns>加密后的字符串</returns>
public string DESEncrypt(string originalValue, string key, string IV)
{
//將key和IV處理成8個字符
key += "12345678";
IV += "12345678";
key = key.Substring(0, 8);
IV = IV.Substring(0, 8);
SymmetricAlgorithm sa;
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
sa = new DESCryptoServiceProvider();
sa.Key = Encoding.UTF8.GetBytes(key);
sa.IV = Encoding.UTF8.GetBytes(IV);
ct = sa.CreateEncryptor();
byt = Encoding.UTF8.GetBytes(originalValue);
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());
}
public string DESEncrypt(string originalValue, string key)
{
return DESEncrypt(originalValue, key, key);
}
/**//// <summary>
/// 使用DES解密(Added by niehl 2005-4-6)
/// </summary>
/// <param name="encryptedValue">待解密的字符串</param>
/// <param name="key">密鑰(最大長度8)</param>
/// <param name="IV">m初始化向量(最大長度8)</param>
/// <returns>解密后的字符串</returns>
public string DESDecrypt(string encryptedValue, string key, string IV)
{
//將key和IV處理成8個字符
key += "12345678";
IV += "12345678";
key = key.Substring(0, 8);
IV = IV.Substring(0, 8);
SymmetricAlgorithm sa;
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
sa = new DESCryptoServiceProvider();
sa.Key = Encoding.UTF8.GetBytes(key);
sa.IV = Encoding.UTF8.GetBytes(IV);
ct = sa.CreateDecryptor();
byt = Convert.FromBase64String(encryptedValue);
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());
}
public string DESDecrypt(string encryptedValue, string key)
{
return DESDecrypt(encryptedValue, key, key);
}
private string GetStringValue(byte[] Byte)
{
string tmpString = "";
if (this.isReturnNum == false)
{
ASCIIEncoding Asc = new ASCIIEncoding();
tmpString = Asc.GetString(Byte);
}
else
{
int iCounter;
for (iCounter = 0; iCounter < Byte.Length; iCounter++)
{
tmpString = tmpString + Byte[iCounter].ToString();
}
}
return tmpString;
}
private byte[] GetKeyByteArray(string strKey)
{
ASCIIEncoding Asc = new ASCIIEncoding();
int tmpStrLen = strKey.Length;
byte[] tmpByte = new byte[tmpStrLen - 1];
tmpByte = Asc.GetBytes(strKey);
return tmpByte;
}
}
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美又大又粗又长| 国产精品高清免费在线观看| 亚洲欧美日韩直播| 国产乱人伦真实精品视频| 亚洲视频在线观看视频| 国产亚洲a∨片在线观看| 91天堂在线观看| 国产精品91在线| 国产精品老女人精品视频| 日韩美女免费视频| 浅井舞香一区二区| 久久久国产视频| 亚洲欧美一区二区三区久久| 国产精品久久久久久久久久99| 日韩久久免费视频| 精品久久久久久久久久ntr影视| 欧美成人高清视频| 亚洲人成电影网站色xx| 91色中文字幕| 中文字幕欧美在线| 亚洲国产精品电影| 欧美精品久久久久久久免费观看| 一夜七次郎国产精品亚洲| 有码中文亚洲精品| 欧美国产日韩一区二区在线观看| 亚洲免费av片| 国产又爽又黄的激情精品视频| 欧美激情在线观看视频| 国产精自产拍久久久久久| 欧美成人四级hd版| 日韩视频免费看| 亚洲综合在线做性| 亚洲国产成人精品久久久国产成人一区| 亚洲成人网久久久| 国产精品亚洲自拍| 国产精品视频区1| 欧美激情视频网站| 亚洲自拍在线观看| 国内精品小视频在线观看| 国产亚洲精品va在线观看| 欧美激情精品在线| 国产在线不卡精品| 狠狠做深爱婷婷久久综合一区| 国产精品普通话| 国产免费久久av| 亚洲国产精彩中文乱码av| 欧美激情女人20p| 国产精品成人国产乱一区| 亚洲一区制服诱惑| 日韩精品免费在线播放| 亚洲精品在线观看www| 久久99精品久久久久久噜噜| 亚洲精品自在久久| 日韩av影片在线观看| 亚洲第一网站男人都懂| 国产中文字幕亚洲| 91精品久久久久久久久| 九九热在线精品视频| 大荫蒂欧美视频另类xxxx| 日韩欧美中文第一页| 国产精品久久久精品| 国内精品久久久久久久| 亚洲乱码av中文一区二区| 91国语精品自产拍在线观看性色| 精品视频一区在线视频| 精品人伦一区二区三区蜜桃免费| 在线视频国产日韩| 伦理中文字幕亚洲| 国产精品av在线播放| 97涩涩爰在线观看亚洲| 国产精品中文字幕在线| 97精品一区二区视频在线观看| 欧美特级www| 国产日韩在线精品av| 一区二区三区回区在观看免费视频| 亚洲精品999| 精品久久久久久久久国产字幕| 日韩亚洲国产中文字幕| 国产深夜精品福利| 亚洲黄页视频免费观看| 萌白酱国产一区二区| 久久久久久成人精品| 一区二区三区视频在线| 95av在线视频| 国产日韩专区在线| 久久久久久久久91| 国产精品久久av| 97婷婷大伊香蕉精品视频| 在线视频精品一| 国产精品一香蕉国产线看观看| 欧美夫妻性生活视频| 国产精品视频专区| 国产亚洲成av人片在线观看桃| 91在线观看免费高清完整版在线观看| 亚洲在线第一页| 欧美黑人极品猛少妇色xxxxx| 免费成人高清视频| 欧美激情视频在线免费观看 欧美视频免费一| 日韩av免费在线看| 久久视频这里只有精品| 亚洲一区亚洲二区| 日韩精品中文字幕在线播放| 九九热视频这里只有精品| 欧美日韩在线视频一区| 午夜精品理论片| 91国自产精品中文字幕亚洲| 亚洲国产精品va在线| 国产一级揄自揄精品视频| 欧美午夜片欧美片在线观看| 91国在线精品国内播放| 97精品国产91久久久久久| 91成人在线播放| 欧美巨乳在线观看| 日韩精品久久久久久福利| 欧美激情精品久久久久久久变态| 国产精品久久久久久久9999| 91tv亚洲精品香蕉国产一区7ujn| 亚洲第一中文字幕在线观看| 久久精品视频va| 亚洲色图五月天| 欧美性受xxx| 亚洲人成在线电影| 国产成人亚洲综合青青| 日韩精品免费一线在线观看| 91精品国产自产在线观看永久| 欧美日韩激情视频| www.欧美三级电影.com| 国产精品都在这里| 国产精品一区二区久久精品| 欧美日韩精品在线观看| 亚洲视频在线免费看| 一本色道久久综合亚洲精品小说| 成人在线一区二区| 亚洲精品色婷婷福利天堂| 国产精品永久免费| 亚洲精品乱码久久久久久金桔影视| 午夜精品久久久久久99热| 最近2019年日本中文免费字幕| 欧美精品久久久久a| 国产成人在线播放| 欧美精品一区二区免费| 91九色视频在线| 亚洲精品一区二区三区婷婷月| 国产精品自产拍在线观看中文| 国产视频久久久久久久| 午夜精品三级视频福利| 91精品久久久久久久久久另类| 欧美性猛交xxxx黑人| 久热精品视频在线观看一区| 国产精品美女www爽爽爽视频| 国产福利视频一区二区| 久久人人爽国产| 久久综合亚洲社区| 91国产视频在线| 久久精品电影网| 日韩欧美国产一区二区| 亚洲人高潮女人毛茸茸| 久久久黄色av| 中日韩美女免费视频网址在线观看| 日韩一二三在线视频播| 国产精品第三页| 黑人精品xxx一区一二区| 久操成人在线视频| 国产精品视频区|