中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)上電商教程seo優(yōu)化招聘

網(wǎng)上電商教程,seo優(yōu)化招聘,網(wǎng)站項目經(jīng)費預算,做網(wǎng)絡私活的網(wǎng)站實驗七 SHA-1 一、實驗目的 熟悉SHA-1算法的運行過程,能夠使用C語言編寫實現(xiàn)SHA-1算法程序,增 加對摘要函數(shù)的理解。 二、實驗要求 (1)理解SHA-1輪函數(shù)的定義和工作過程。 (2)利用VC語言實現(xiàn)SHA- 1算法。 (3)分析SHA- 1算法運行的性能。 三、實驗…

實驗七 SHA-1

一、實驗目的

熟悉SHA-1算法的運行過程,能夠使用C++語言編寫實現(xiàn)SHA-1算法程序,增

加對摘要函數(shù)的理解。

二、實驗要求

(1)理解SHA-1輪函數(shù)的定義和工作過程。

(2)利用VC++語言實現(xiàn)SHA- 1算法。

(3)分析SHA- 1算法運行的性能。

三、實驗原理

SHA-1對任意長度明文的分組預處理完后的明文長度是512位的整數(shù)倍,值得注意的是,SHA-1的原始報文長度不能超過2的64次方,然后SHA-1生成160位的報文摘要。SHA-1算法簡單且緊湊,容易在計算機上實現(xiàn)。圖6-1所示為SHA-1對單個512位分組的處理過程。

1.實驗環(huán)境

普通計算機Intel i5 3470@3.2GHz, 4GB RAM,Windows 7 Professional Edition, VS平臺。

2.算法實現(xiàn)步驟

1)將消息摘要轉換成位字符串

因為在SHA- 1算法中,它的輸入必須為位,所以首先要將其轉化為位字符串。以“abc”字符串來說明問題,因為'a'=97, 'b'=98, 'c'=99,所以將其轉換為位串后為01100001 01100010 01100011

2)對轉換后的位字符串進行補位操作

SHA-1算法標準規(guī)定,必須對消息摘要進行補位操作,即將輸入的數(shù)據(jù)進行填充,使得數(shù)據(jù)長度對512求余的結果為448,填充比特位的最高位補一個1,其余位補0,如果在補位之前已經(jīng)滿足對512取模余數(shù)為448,則要進行補位,在其后補一位1??傊?#xff0c;補位是至少補一位,最多補512位。依然以“abc”為例,其補位過程如下:初始的信息摘要: 01100001 01100010 01100011第一步補位:01100001 01100010 011000111,最后一位補位: 01100001 01100010 01100011 10...0(后面補了423個0)

之后將補位操作后的信,息摘要轉換為十六進制:

61626380 00000000 00000000 00000000?00000000 00000000 00000000

00000000?00000000 00000000 00000000 00000000?00000000 00000000

3)附加長度值

在信息摘要后面附加64比特的信息,用來表示原始信息摘要的長度,在這步操作之后,信息報文便是512比特的倍數(shù)。通常來說用一個64位的數(shù)據(jù)表示原始消息的長度,如果消息長度不大于2,那么前32比特就為0,在進行附加長度值操作后,其“abc"數(shù)據(jù)報文即變成如下形式:

61 62638000000000 00000000 00000000

00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000

00000000 00000000 00000000 0000001 8

因為“abc”占3個字節(jié),即24位,所以換算為十六進制后為0x18。

4)初始化緩存

一個160位MD緩沖區(qū)用以保存中間和最終散列函數(shù)的結果。它可以表示為5個32

位的寄存器(H0,H1,H2,H3,H4)。初始化如下:

HO = 0x67452301

H2 = 0x98BADCFE

H3 = 0x10325476

H4 = 0xC3D2E1F0

如果大家對MD-5不陌生的話,會發(fā)現(xiàn)一個重要的現(xiàn)象,其前四個與MD-5一樣,

但不同之處是存儲為Big-EndienFormat。

四、算法實現(xiàn)

(2)利用VC++語言實現(xiàn)SHA- 1算法。

#include <iostream>
#include <string>
#include <iomanip>
#include <sstream>
#include <Windows.h>
#include <wincrypt.h>// 函數(shù)聲明
std::string sha1(const std::string& input);int main() {std::string data = "Hello, SHA-1!";std::string hash = sha1(data);std::cout << "SHA-1 Hash: " << hash << std::endl;return 0;
}// SHA-1算法實現(xiàn)
std::string sha1(const std::string& input) {HCRYPTPROV hCryptProv;HCRYPTHASH hHash;BYTE rgbHash[20];DWORD cbHash = 20;if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))return "";if (!CryptCreateHash(hCryptProv, CALG_SHA1, 0, 0, &hHash)) {CryptReleaseContext(hCryptProv, 0);return "";}if (!CryptHashData(hHash, (const BYTE*)input.c_str(), input.length(), 0)) {CryptReleaseContext(hCryptProv, 0);CryptDestroyHash(hHash);return "";}if (!CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, &cbHash, 0)) {CryptReleaseContext(hCryptProv, 0);CryptDestroyHash(hHash);return "";}std::stringstream ss;for (int i = 0; i < cbHash; i++) {ss << std::hex << std::setw(2) << std::setfill('0') << (int)rgbHash[i];}CryptDestroyHash(hHash);CryptReleaseContext(hCryptProv, 0);return ss.str();
}

運行結果:

(3) 分析SHA-1算法的性能:

SHA-1是一種哈希算法,通常用于數(shù)據(jù)完整性驗證和數(shù)字簽名。然而,隨著時間的推移,SHA-1的性能和安全性受到了挑戰(zhàn),因此在實際應用中要謹慎使用。

性能分析包括以下方面:

a. 計算速度:SHA-1的計算速度通常較快,適用于快速生成哈希值。

b. 安全性:SHA-1不再被認為是安全的哈希算法,因為已經(jīng)出現(xiàn)了碰撞攻擊,可以生成兩個不同的輸入,它們產(chǎn)生相同的SHA-1哈希值。這使得SHA-1不適合用于敏感數(shù)據(jù)的加密或簽名。

c. 應用領域:SHA-1仍然可以用于一些非安全性要求嚴格的應用,例如在校驗數(shù)據(jù)完整性時。但對于需要高安全性的應用,應該選擇更安全的哈希算法,如SHA-256或SHA-3。

五、實驗心得

SHA-1是一個基于位運算和邏輯運算的哈希算法,它將輸入數(shù)據(jù)轉化為固定長度(160位)的哈希值。SHA-1在性能方面通常表現(xiàn)良好,但已不再被認為是安全的哈希算法。因此,建議在應用中使用更安全的哈希算法,特別是需要保護敏感數(shù)據(jù)的情況。SHA-256和SHA-3等算法提供了更高的安全性,可以滿足更嚴格的安全要求。在實現(xiàn)SHA-1算法時,需要將輸入字符串轉換為適當格式,并填充數(shù)據(jù),以確保數(shù)據(jù)長度滿足SHA-1算法的要求。包括位填充和附加數(shù)據(jù)長度。通過實驗我了解SHA-1算法中的各個步驟,包括信息的分塊、擴展消息、初始化哈希值、迭代運算等。這有助于更好地理解SHA-1的內部工作原理。此次實驗使我加深了對哈希算法的理解,提高了編程能力。

http://www.risenshineclean.com/news/54568.html

相關文章:

  • 阿里云從哪里建設網(wǎng)站交換友情鏈接的渠道有哪些
  • 備案期間網(wǎng)站要關閉嗎seo優(yōu)化查詢
  • 服裝網(wǎng)站建設任務表網(wǎng)站推廣和優(yōu)化系統(tǒng)
  • 畢設什么類型網(wǎng)站容易做國外廣告聯(lián)盟平臺
  • 貨架 網(wǎng)站建設 牛商網(wǎng)友情鏈接圖片
  • 專業(yè)簡章佛山seo優(yōu)化外包
  • wordpress主頁百度seo營銷
  • 西安網(wǎng)站制作的公司重慶森林臺詞
  • 黃山網(wǎng)站建設推廣靠網(wǎng)絡營銷火起來的企業(yè)
  • 肥西網(wǎng)站推廣公司今日國內新聞大事
  • 什么公司可以做網(wǎng)站等級保護宣傳方式
  • 網(wǎng)站型銷售怎么做的疫情最新數(shù)據(jù)
  • 天津網(wǎng)站建設吐魯番地區(qū)百度電腦端入口
  • 網(wǎng)站數(shù)據(jù)采集 源碼個人網(wǎng)站源碼免費下載
  • 公司網(wǎng)站開發(fā)制作公司公司網(wǎng)站制作網(wǎng)絡公司
  • 企業(yè)門戶網(wǎng)站 意義免費推廣網(wǎng)站大全
  • 具有營銷價值好的網(wǎng)站share群組鏈接分享
  • 鄭州商城網(wǎng)站建設多少錢一站式網(wǎng)站建設公司
  • 有沒有專業(yè)做二維碼連接網(wǎng)站在口碑營銷案例簡短
  • 學php做網(wǎng)站品牌營銷包括哪些方面
  • 網(wǎng)站建設與網(wǎng)頁設計的論文軟文范例大全800
  • 網(wǎng)站開發(fā)算什么費用知乎關鍵詞排名工具
  • 做外商備案的網(wǎng)站百度官方app免費下載
  • 免費的軟件網(wǎng)站seo運營學校
  • 電力建設期刊網(wǎng)站上海網(wǎng)站推廣廣告
  • 陜西網(wǎng)站制作商學電腦在哪里報名
  • 深圳做網(wǎng)站建設的公司競價交易規(guī)則
  • 網(wǎng)站建設的公司哪家是上市公司百度搜索推廣產(chǎn)品
  • 攝影網(wǎng)站建設內容濟南網(wǎng)站優(yōu)化排名推廣
  • 東莞微網(wǎng)站制作網(wǎng)站seo思路