3 回答

TA貢獻1825條經(jīng)驗 獲得超4個贊
private static string SHA1(string text)
{
byte[] cleanBytes = Encoding.Default.GetBytes(text);
byte[] hashedBytes = System.Security.Cryptography.SHA1.Create()puteHash(cleanBytes);
return BitConverter.ToString(hashedBytes).Replace("-", "");
}
調(diào)用這個函數(shù)就可以得到你要的sha1值了。
另外還有個概念要澄清,SHA1是散列算法,不是加密。

TA貢獻1848條經(jīng)驗 獲得超2個贊
MD5 和SHA-1 是目前使用比較廣泛的散列(Hash)函數(shù),也是在消息認(rèn)證和數(shù)字簽名中普遍使用的兩種加密算法。本文基于AVR 高速嵌入式單片機,實現(xiàn)了MD5和SHA-1 兩種加密算法的比較,并對算法進行了匯編語言的優(yōu)化和改進。根據(jù)實驗結(jié)果,對兩種算法的優(yōu)缺點進行了比較和分析。 0 引言 隨著信息技術(shù)和Internet 的迅速發(fā)展,信息安全和可靠性問題越來越重要?,F(xiàn)在信息安全面臨兩大基本攻擊:被動式攻擊(獲取消息的內(nèi)容、業(yè)務(wù)流分析)和主動攻擊(假冒、消息的篡改、業(yè)務(wù)拒絕)。前者主要靠加密和解密技術(shù)進行有效處理,而后者就要靠消息認(rèn)證來處理。在金融交易、電子商務(wù)、電子信件、手機用戶信息的確認(rèn)等領(lǐng)域,數(shù)據(jù)完整性確認(rèn)和數(shù)據(jù)來源的真?zhèn)舞b定都是很重要的安全服務(wù)。實現(xiàn)這些安全服務(wù)的最好方法就是使用加密函數(shù)中的單項散列(Hash)函數(shù)。單項散列(Hash)函數(shù)是一種單項密碼體制,它是一個從明文到密文的不可逆函數(shù),也就是說,是無法解密的。通常應(yīng)用在只需要加密、不需要解密的特殊應(yīng)用場合。單項散列(Hash)函數(shù)H(M)作用于一任意長度的消息M,它返回一固定長度的散列值h:h=H(M)作為初始消息的獨一無二的“數(shù)字指紋”,從而能保證數(shù)據(jù)的完整性和惟一性。 3.1 MD5 與SHA-1 的比較 由于MD5 與SHA-1均是從MD4 發(fā)展而來,它們的結(jié)構(gòu)和強度等特性有很多相似之處,表(1)是對MD5 與SHA-1 的結(jié)構(gòu)比較。SHA-1與MD5 的最大區(qū)別在于其摘要比MD5 摘要長 32 比特。對于強行攻擊,產(chǎn)生任何一個報文使之摘要等于給定報文摘要的難度:MD5 是2128 數(shù)量級的操作,SHA-1 是2160 數(shù)量級的操作。產(chǎn)生具有相同摘要的兩個報文的難度:MD5是 264 是數(shù)量級的操作,SHA-1 是280 數(shù)量級的操作。因而,SHA-1 對強行攻擊的強度更大。但由于SHA-1 的循環(huán)步驟比MD5 多(80:64)且要處理的緩存大(160 比特:128 比特),SHA-1 的運行速度比MD5 慢。 5 結(jié)束語 MD5 和SHA-1 是單項散列函數(shù)的典型代表,它們廣泛地應(yīng)用在信息安全和數(shù)字簽名等各個領(lǐng)域。從而有效地抗擊了信息的主動式攻擊,本文基于AVR 單片機實現(xiàn)了這兩種算法,并結(jié)合匯編語言盡心了優(yōu)化,取得了較好的效果。根據(jù)信息安全的要求的不同層次可以靈活選擇這兩種算法從而達到實際目的。
添加回答
舉報