freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

代碼管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-閱讀頁

2025-04-29 13:52本頁面
  

【正文】 L12 MD4 和RIPEMD 算法的報(bào)告,公布了 MD 系列算法的破解結(jié)果?! ×钍澜珥敿饷艽a學(xué)家想象不到的是,破解 MD5 之后,2022 年 2 月,王小云教授又破解了另一國際密碼 SHA-1。換句話說,王小云的研究成果表明了從理論上講電子簽名可以偽造,必須及時(shí)添加限制條件,或者重新選用更為安全的密碼標(biāo)準(zhǔn),以保證電子商務(wù)的安全。這是近年來密碼學(xué)領(lǐng)域最具實(shí)質(zhì)性的研究進(jìn)展?!捎谶@個(gè)里程碑式的發(fā)現(xiàn),MD5CRK 項(xiàng)目將在隨后 48 小時(shí)內(nèi)結(jié)束”。 算法描述對(duì) MD5 算法簡(jiǎn)要的敘述可以為:MD5 以 512 位分組來處理輸入的信息,且每一分組又被劃分為 16 個(gè) 32 位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個(gè) 32 位分組組成,將這四個(gè) 32 位分組級(jí)聯(lián)后將生成一個(gè) 128 位散列值。因此,信息的字節(jié)長度(Bits Length)將被擴(kuò)展至 N*512+448,即 N*64+56 個(gè)字節(jié)(Bytes),N 為一個(gè)正整數(shù)。然后,在在這個(gè)結(jié)果后面附加一個(gè)以 64 位二進(jìn)制表示的填充前信息長度。這樣做的原因是為滿足后面處理中對(duì)信息長度的要求。   當(dāng)設(shè)置好這四個(gè)鏈接變量后,就開始進(jìn)入算法的四輪循環(huán)運(yùn)算。   將上面四個(gè)鏈接變量復(fù)制到另外四個(gè)變量中:A 到 a,B 到 b,C 到 c,D到 d。第一輪進(jìn)行 16 次操作。再將所得結(jié)果向右環(huán)移一個(gè)不定的數(shù),并加上 a、b、c 或 d 中之一。 杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)134 總體設(shè)計(jì) 體系結(jié)構(gòu)設(shè)計(jì)通常的代碼版本控制軟件,都采用客戶機(jī)/服務(wù)器(C/S)體系結(jié)構(gòu),C/S 結(jié)構(gòu)是這樣的一種結(jié)構(gòu):它包括一個(gè)客戶機(jī)(或前端),一個(gè)服務(wù)器(或稱后端),客戶機(jī)的作用是訪問和處理遠(yuǎn)程服務(wù)器上的數(shù)據(jù),服務(wù)器的作用是接收和處理客戶機(jī)的數(shù)據(jù)請(qǐng)求。Client/Server 結(jié)構(gòu)是當(dāng)前數(shù)據(jù)庫應(yīng)用程序中極為流行的一種方式。另外它的服務(wù)器端還可以將信息集中起來,任何客戶機(jī)都可以通過訪問服務(wù)器而獲得所需的信息。一個(gè)請(qǐng)求總是首先被客戶發(fā)出,然后服務(wù)器總是被動(dòng)地接收請(qǐng)求,返回客戶需要的結(jié)果。一個(gè)客戶提出請(qǐng)求后,服務(wù)進(jìn)程被“喚醒 ”并且為客戶提供服務(wù),對(duì)客戶的請(qǐng)求做出所需要的應(yīng)答。數(shù)據(jù)庫 PC 機(jī)接收請(qǐng)求傳遞數(shù)據(jù)各項(xiàng)操作請(qǐng)求數(shù)據(jù)圖 41 客戶機(jī)/服務(wù)器通信結(jié)構(gòu)示圖我要實(shí)現(xiàn)的是個(gè)人軟件源代碼的管理,也要用到數(shù)據(jù)庫服務(wù)器。 功能模塊劃分根據(jù)以上的系統(tǒng)需求分析,以及體系結(jié)構(gòu)設(shè)計(jì),可以對(duì)系統(tǒng)進(jìn)行如下的功能模塊劃分如圖 4-2 所示。 界面設(shè)計(jì) 主界面設(shè)計(jì)SVN 是目前使用人數(shù)最多的代碼版本管理系統(tǒng),本文主要是仿照 SVN 來設(shè)計(jì)界面的,具體如圖 43 所示。(1) 菜單欄里設(shè)有主要功能操作按鍵:檢出、提交、更新、工程設(shè)置、刷新和刪除。(3)信息列表顯示文件的具體信息有:文件名稱、文件狀態(tài)、文件內(nèi)容、MD5 哈希值、主版本號(hào)和子版本號(hào)。圖 43 SVN 主界面示意圖杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)15 提交版本界面本文的提交版本界面設(shè)計(jì)也是模仿 SVN 的提交界面的模版而設(shè)計(jì)的。提交版本界面有 2 個(gè)模塊:信息和變更列表。變更列表里顯示的是當(dāng)前測(cè)試版本對(duì)文件進(jìn)行的改變。具體如下圖 45 所示。日志內(nèi)容包括生成版本是的備注信息和版本生成時(shí)的日期。圖 45 SVN 工程信息界面杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)165 詳細(xì)功能設(shè)計(jì)及編碼實(shí)現(xiàn) 主框架及界面模塊詳細(xì)設(shè)計(jì)(一)主框架模塊詳細(xì)設(shè)計(jì)由于該系統(tǒng)基本架構(gòu)為基于對(duì)話框的 MFC WIN32 應(yīng)用程序,所以以主框架模塊由許多類構(gòu)成,它們都是由 MFC 應(yīng)用程序向?qū)桑篊AboutDlg 類、 CBKView 類、CLogDlg 類、CLTree 類、CMainFrame 類、CMiniSvnApp 類、CMiniSvnDoc 類、CMiniSvnView 類、Tag_Verinfo 類、Tag_VersionFile 類以及Globals 類,核心的部分是 CBKView 類、CLTree 類、CMainFrame 類、CMiniSvnView 類,結(jié)構(gòu)如圖 51 所示。下面對(duì)這些類的設(shè)計(jì)進(jìn)行詳細(xì)的說明。這里是以一種網(wǎng)格形式顯示的,其列表中包括文件名稱、文件內(nèi)容、Md5 哈希值、主版本號(hào)、子杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)17版本號(hào)和狀態(tài)等列名。其中狀態(tài)列屬性是 CBKView 類中特有的,用來表示該文件與上一版本中文件的變更,即添加、修改、刪除狀態(tài)。CListView::OnInitialUpdate()。listCtrl=(CListCtrlamp。 (0,LVS_REPORT)。//禁止修改列標(biāo)題 (LVS_EX_FULLROWSELECT|LVS_EX_ONECLICKACTIVATE|LVS_EX_INFOTIP|LVS_EX_SUBITEMIMAGES|LVS_EX_GRIDLINES)。 (1,文件內(nèi)容,LVCFMT_LEFT,280)。 (3,主版本號(hào),LVCFMT_LEFT,80)。 (5,狀態(tài),LVCFMT_LEFT,100)。//創(chuàng)建圖標(biāo)列表 (AfxGetApp()LoadIcon (IDI_FILE_OK))。 (AfxGetApp()LoadIcon (IDI_FILE_CHG))。 (amp。UpdateView()。listCtrl=(CListCtrlamp。 ()。杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)18for (int i=0。 i++){strInfo[0].Format(%d,g_chgVec[i].nPVId)。(i,g_chgVec[i].sFName,g_chgVec[i].nSId)。(i,2,g_chgVec[i].sMd5Sum)。(i,4,strInfo[1])。}}(2)CLTree 類為主界面左邊的樹列表類,用鼠標(biāo)點(diǎn)擊任何一個(gè)樹節(jié)點(diǎn)時(shí),主程序就執(zhí)行數(shù)據(jù)庫查詢代碼,右邊信息列表都會(huì)有相應(yīng)的信息顯示出來。具體代碼如下:void CLTree::OnInitialUpdate() {g_pView[0] = this。// TODO: Add your specialized code here and/or call the base class (16,16,ILC_COLORDDB|ILC_MASK,2,2)。 (AfxGetApp()LoadIcon (IDI_LIB_PRJ))。 (AfxGetApp()LoadIcon (IDI_LIB_OPEN))。 CtlTree=(CTreeCtrlamp。 (RGB(210,230,190))。ImgTree,TVSIL_NORMAL)。dwStyle|=TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT。UpdateView()。 CtlTree=(CTreeCtrlamp。()。TV_INSERTSTRUCT tvRoot。//樹枝//TV_INSERTSTRUCT tvThree。=NULL。=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE。=1。tvRoot)。(測(cè)試版本,10)。= (0)。=0。HTREEITEM item_second= (amp。(item_second)。i()。=item_root。=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAG杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)20E。=3 。tvSecond)。//TVITEM tvi。//t/=文件版本 。//(amp。//()。// TODO: Add your control notification handler code hereCTreeCtrlamp。)GetTreeCtrl ()。CString str= (select_item)。if ((4)==版本){index= atoi((() 4).GetBuffer(0))。getDBVersion(1,index)。((CMiniSvnView *)g_pView[1])UpdateView(1)。} else if(str==測(cè)試版本){g_nSelVid = g_nCurVid+1。杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)21if (i){getDBVersion(0,0)。getFileVer()。((CBKView *)(g_pView[2]))UpdateView()。}//AfxMessageBox(str)。}(3) CMainFrame 類是本程序的主要載體類,其他的模塊都要在這里使用或者是要借用 CMainFrame 類來實(shí)現(xiàn)具體可視化的操作。CmainFrame 類規(guī)范了檢出、提交等操作的目標(biāo)與要求。如果用戶不按要求時(shí),則程序彈出警告對(duì)話框提示。圖 52 檢出出錯(cuò)提示當(dāng)用戶在未對(duì)測(cè)試版本進(jìn)行變更操作時(shí)就進(jìn)行提交生成版本,則不能生成新版本,系統(tǒng)會(huì)有提示:當(dāng)前版本沒有任何改動(dòng),您不能提交。杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)22圖 53 提交出錯(cuò)提示(4)CMiniSvnView 類是住界面中右邊的信息列表的主題類。CMiniSvnView 類右邊信息列表顯示的鼠標(biāo)指定的版本中的版本文件信息,即只存在于該版本中的文件信息。具體可視化圖,如下 54 所示。在主界面中用到很多圖標(biāo)表示不同的對(duì)象和信息狀態(tài)。這里存儲(chǔ)的是當(dāng)前正在編寫的程序文件,即有待改進(jìn)的文件。這里存儲(chǔ)的是已經(jīng)生成的文件版本。(3)綠色加號(hào)圖標(biāo),表示該文件在該版本中是第一次出現(xiàn),即剛添加進(jìn)來;或者是表示自該文件第一次添加進(jìn)來后,未曾被修改過。(5)紅色十字叉圖標(biāo),表示該文件被刪除,通過子版本號(hào)得知在第幾版中被杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)23刪除。由此,可得知不能對(duì)現(xiàn)在的測(cè)試版本進(jìn)行提交操作。我使用 SQL Server 2022 來存儲(chǔ)各個(gè)版本信息。數(shù)據(jù)庫中表選項(xiàng)有 5 個(gè),分別是project、repository、states、tmp_v 和 versions。Project 表示 工程表Repository 表示 版本庫表States 表示 狀態(tài)表tmp_v 表示 臨時(shí)表(數(shù)據(jù)中轉(zhuǎn)用的)versions 表示 版本表up_CheckOut 表示 檢出指定版本( 帶所需版本參數(shù) )up_ClrPrj 表示 清除工程(清除工程中的版本文件)up_GetCurV 表示 (獲取最新版本)up_GetInfo 表示 獲取工程信息up_VChg 表示 獲取版本變更信息 數(shù)據(jù)庫配置與連接詳細(xì)設(shè)計(jì)首先,要開題 SQL Server2022 的服務(wù)器,否則程序?qū)o法打開使用。 該文件是確定 程序與數(shù)據(jù)源的連接。UID=sa。如圖 55 所示。程序初始化時(shí),將會(huì)自動(dòng)調(diào)用數(shù)據(jù)庫中的工程信息內(nèi)容(版本號(hào)、版本備注信息和創(chuàng)建時(shí)間) ,顯示在程序工程信息界面模塊中。當(dāng)用戶鼠標(biāo)點(diǎn)擊其他的版本時(shí),系統(tǒng)自動(dòng)打開數(shù)據(jù)庫連接,并執(zhí)行查詢 SQL 語句,將結(jié)果顯示在信息列表和差異信息列表中。除了這個(gè)功能之外,其他操作也會(huì)直接用到數(shù)據(jù)庫連接,比如:檢出、提交、更新和工程設(shè)置。然而判定文件差異對(duì)于本系統(tǒng)軟件來說是非常重要的。所以,判定文件差異的工作要十分謹(jǐn)慎。MD5 技術(shù)已經(jīng)在第三章詳細(xì)介紹過,這里再做簡(jiǎn)單的說明。比如,在 UNIX 下有很多軟件在下載的時(shí)候都有一個(gè)文件名相同, 的文件,在這個(gè)文件中通常只有一行文本,大致結(jié)構(gòu)如:   MD5 () = 0ca175b9c0f726a831d895e269332461   這就是 文件的數(shù)字簽名。為了讓讀者朋友對(duì) MD5 的應(yīng)用有個(gè)直觀的認(rèn)識(shí),筆者以一個(gè)比方和一個(gè)實(shí)例來簡(jiǎn)要描述一下其工作過程:  大家都知道,地球上任何人都有自己獨(dú)一無二的指紋,這常常成為公安機(jī)關(guān)鑒別罪犯身份最值得信賴的方法;與之類似,MD5 就可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個(gè)同樣獨(dú)一無二的“數(shù)字指紋” ,如果任何人對(duì)文件做了任何改動(dòng),其 MD5 值也就是對(duì)應(yīng)的“數(shù)字指紋” 都會(huì)發(fā)生變化。利用 MD5 算法來進(jìn)行文件校驗(yàn)的方案被大量應(yīng)用到軟件下載站、論壇數(shù)據(jù)庫、系統(tǒng)文件安全等方面。用戶只能對(duì)歷史版本進(jìn)行檢出,不能對(duì)當(dāng)成的測(cè)試版本進(jìn)行檢出。本功能實(shí)現(xiàn)的具體步驟如下:(1)鼠標(biāo)點(diǎn)擊任意一個(gè)歷史版本,點(diǎn)操作中的檢出按鍵,彈出選擇路徑對(duì)話框。(3)點(diǎn)擊確認(rèn)以后,系統(tǒng)執(zhí)行 SQL 查詢語句,把指定的歷史版本中的所有文件拷貝到用戶指定的路徑中。 提交功能模塊詳細(xì)設(shè)計(jì)提交功能是代碼管理系統(tǒng)的主功能之一,它的作用是提交生成一個(gè)新的版本。該功能實(shí)現(xiàn)的具體步驟:(1)鼠標(biāo)點(diǎn)擊測(cè)試版本,如果右邊信息列表中文件有改動(dòng),則可以進(jìn)行提交操作,否則不能提交。上面是用戶可以自己編寫的備注信息,下面顯示的變更列表是本次版本提交中文件所做的改動(dòng)。用戶可以從差異信息列表中查看到變更信息,從工程信息中看到備注信息。 更新功能模塊詳細(xì)設(shè)計(jì)更新功能是代碼管理系統(tǒng)中方便用戶恢復(fù)刪除的作用。當(dāng)更新成功后,工程路徑下被刪除的文件又回來了。撤銷指的是用戶對(duì)文件進(jìn)行修改后,想取消修改的動(dòng)作叫撤銷。 工程設(shè)置功能詳細(xì)設(shè)計(jì)工程設(shè)置是代碼管理系統(tǒng)的主要功能。(1)日志欄中顯示的是各個(gè)版本創(chuàng)建的時(shí)間,以及用戶對(duì)提交該版本時(shí)填寫杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)26
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1