using System.Security.Cryptography;
/// <summary>
/// MD5加密方法
/// </summary>
/// <param name="asSource">源Md5值</param>
/// <param name="asDestination">需對比的字符</param>
/// <returns>是否正確</returns>
private bool Md5EncryptJudge(string asSource, string asDestination)
{
bool bResult = false;
string sDestination ="";
//定義Md5密碼服務類
MD5CryptoServiceProvider mdcpValu = new MD5CryptoServiceProvider();
//將傳入的值轉換成UTF8格式。便於加密時的格式統一
byte[] bDestination = System.Text.Encoding.UTF8.GetBytes(asDestination);
//加密
byte[] bDestinationMd5 = mdcpValu.ComputeHash(bDestination);
//將加密后的值賦給字符串
foreach (byte bVal in bDestinationMd5)
{
sDestination += bVal.ToString();
}
//判斷需對比的值加密成md5后與傳入的MD5值是否與傳入的相等
if (asSource == sDestination)
{
bResult = true;
}
else
{
bResult = false;
}
return bResult;
}
/// <summary>
/// MD5加密方法
/// </summary>
/// <param name="asSource">源Md5值</param>
/// <param name="asDestination">需對比的字符</param>
/// <returns>是否正確</returns>
private bool Md5EncryptJudge(string asSource, string asDestination)
{
bool bResult = false;
string sDestination ="";
//定義Md5密碼服務類
MD5CryptoServiceProvider mdcpValu = new MD5CryptoServiceProvider();
//將傳入的值轉換成UTF8格式。便於加密時的格式統一
byte[] bDestination = System.Text.Encoding.UTF8.GetBytes(asDestination);
//加密
byte[] bDestinationMd5 = mdcpValu.ComputeHash(bDestination);
//將加密后的值賦給字符串
foreach (byte bVal in bDestinationMd5)
{
sDestination += bVal.ToString();
}
//判斷需對比的值加密成md5后與傳入的MD5值是否與傳入的相等
if (asSource == sDestination)
{
bResult = true;
}
else
{
bResult = false;
}
return bResult;
}
/// <summary>
/// Hash加密
/// </summary>
/// <param name="asSource">源加密后的值</param>
/// <param name="asDestination">目標字符串</param>
private void HashEncrypt(string sScouce, string asDestination)
{
byte[] bDestinationValue = System.Text.Encoding.UTF8.GetBytes(asDestination);
HMACSHA1 hsVal = new HMACSHA1();
//加密
byte[] bHmacshaValue = hsVal.ComputeHash(bDestinationValue);
//將加密后的值轉換為字符
string sDesHmaVal = Convert.ToBase64String(bHmacshaValue);
if (sScouce == sDesHmaVal)
{
MessageBox.Show("Ok");
}
else
{
MessageBox.Show("False");
}
}
/// Hash加密
/// </summary>
/// <param name="asSource">源加密后的值</param>
/// <param name="asDestination">目標字符串</param>
private void HashEncrypt(string sScouce, string asDestination)
{
byte[] bDestinationValue = System.Text.Encoding.UTF8.GetBytes(asDestination);
HMACSHA1 hsVal = new HMACSHA1();
//加密
byte[] bHmacshaValue = hsVal.ComputeHash(bDestinationValue);
//將加密后的值轉換為字符
string sDesHmaVal = Convert.ToBase64String(bHmacshaValue);
if (sScouce == sDesHmaVal)
{
MessageBox.Show("Ok");
}
else
{
MessageBox.Show("False");
}
}