發一個加密的方法

來源:互聯網
上載者:User
加密 //聲明加密字元產生的隨機數的位元
public const int LENGTH = 32;
//聲明加密字元前後的分隔長度
public const int LEN = 4;

///方法作用:根據參數對其加密
///參數:
/// string strEncrypt;欲加密的字元
///返回結果:加密後的字元
public static byte[] SourceEncrypt(string strEncrypt)
{
string source = Encrypt(strEncrypt);
//first
string first = Encrypt(source.Substring(0,LEN));
//second
string second = Encrypt(source.Substring(LEN-1,source.Length-LEN));
//third
string third = Encrypt(source.Substring(source.Length-LEN,LEN));
//four
byte[] Random = new byte[LENGTH];
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetNonZeroBytes(Random);
string four = Encrypt(System.Text.Encoding.ASCII.GetString(Random));
string all = first+second+third+four;
return System.Text.Encoding.ASCII.GetBytes(all);
} // end SourceEncrypt


///方法作用:對參數進行加密
///參數:
/// string strEncrypt:欲加密的字元
/// 返回結果:加密後的字元
public static string Encrypt(string strEncrypt)
{
SHA256Managed sha = new SHA256Managed();
byte[] VALUE = sha.ComputeHash(System.Text.Encoding.ASCII.GetBytes(strEncrypt));
return System.Text.Encoding.ASCII.GetString(VALUE);
} // end Encrypt

///方法作用:對參數進行比較
///參數:
/// string strSource:原字元
/// string strObject:目標字元
/// 返回結果:bool是否相等
public static bool CompareEncrypt(byte[] strSource,string strobject)
{
bool result = true;
byte[] strObject = SourceEncrypt(strobject);
//strObject = SourceEncrypt(strObject);
if((strSource==null) || (strObject==null) || (strSource.Length != strObject.Length))
result = false;
else
{
//strSource = strSource.Substring(0,strSource.Length-LENGTH);
//strObject = strObject.Substring(0,strObject.Length-LENGTH);
//byte[] Source = System.Text.Encoding.ASCII.GetBytes(strSource);
//byte[] Obj = System.Text.Encoding.ASCII.GetBytes(strObject);
byte[] Source = strSource;
byte[] Obj = strObject;
if(Source.Length != Obj.Length)
result = false;
else
{
for(int i = 0; i < Source.Length-LENGTH; i++)
{
if(Source[i] != Obj[i])
{
result = false;
break;
}
}
}
}

return result;
} //end CompareyEncrypt



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。