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

正文內(nèi)容

代碼管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2025-04-17 13:52本頁(yè)面
  

【正文】 用戶點(diǎn)擊工程設(shè)置按鍵,彈出工程信息界面,如下圖。而這里顯然不是。這里的恢復(fù)很容易與撤銷混淆,當(dāng)然這不是撤銷功能。在用戶不小心刪除了工程路徑中測(cè)試版本中的文件時(shí),用戶可以使用更新功能對(duì)被刪除的文件進(jìn)行恢復(fù)。(3)版本提交成功,執(zhí)行完畢。這兩個(gè)信息將會(huì)保存在數(shù)據(jù)庫(kù)中。(2)當(dāng)能進(jìn)行提交操作時(shí),彈出提交界面。與檢出功能不同,提交功能只能對(duì)當(dāng)前的測(cè)試版本進(jìn)行操作,否則操作無(wú)效,并且系統(tǒng)會(huì)彈出提示的警告。(4)檢出成功,執(zhí)行完畢。(2)在彈出的選擇路徑對(duì)話框中,用戶可以選擇任意的路徑進(jìn)行文件的檢出地址。因?yàn)闇y(cè)試版本,以可視化的方式存放于用戶自己指定的工程路徑中,用戶可以直接對(duì)其進(jìn)行操作而不需要從數(shù)據(jù)庫(kù)中提取。 檢出功能模塊詳細(xì)設(shè)計(jì)杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)25檢出功能是代碼管理系統(tǒng)主功能之一,其作用是把歷史版本庫(kù)中的文件調(diào)用,復(fù)制并粘貼到用戶指定的目錄中。我們常常在某些軟件下載站點(diǎn)的某軟件信息中看到其 MD5 值,它的作用就在于我們可以在下載該軟件后,對(duì)下載回來(lái)的文件用專門的軟件(如Windows MD5 Check 等)做一次 MD5 校驗(yàn),以確保我們獲得的文件與該站點(diǎn)提供的文件為同一文件。MD5 將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過(guò)其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的 MD5 信息摘要。MD5 的典型應(yīng)用是對(duì)一段信息(Message)產(chǎn)生信息摘要(MessageDigest) ,以防止被篡改。本人做的代碼管理系統(tǒng)軟件,用的是 MD5 哈希值判定文件差異。通過(guò)判定文件的差異,文件狀態(tài)隨之改變;通過(guò)判定文件的差異,文件圖標(biāo)也會(huì)改變;通過(guò)判定文件差異,系統(tǒng)可以判斷是否可以進(jìn)行提交操作。 Md5 哈希值判定文件差異詳細(xì)設(shè)計(jì)要實(shí)現(xiàn)代碼管理系統(tǒng)的難點(diǎn)就是如何判定一個(gè)文件是否發(fā)生改變。執(zhí)行完這些后,系統(tǒng)自動(dòng)關(guān)閉數(shù)據(jù)庫(kù)連接。進(jìn)入主界面后,系統(tǒng)默認(rèn)指向測(cè)試版本,所以右邊信息列表顯示的是測(cè)試版本中的內(nèi)容信息。杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)24圖 55 配置錯(cuò)誤有了配置文件 ,程序才能正常運(yùn)行。PWD=trasin如果沒(méi)有這個(gè)文件 ,則會(huì)彈出錯(cuò)誤,不能進(jìn)入主界面。其代碼為:[DB]DataSource=DSN=MiniSvn。要想正常運(yùn)行 文件,另外必須有一個(gè)數(shù)據(jù)庫(kù)配置文件。存儲(chǔ)過(guò)程選項(xiàng)也有 5 個(gè),分別是up_CheckOut、up_ClrPrj、up_GetCurV 、up_GetInfo 和 up_VChg。首先要進(jìn)入 SQL Server 2022 企業(yè)管理器建立一個(gè)數(shù)據(jù)庫(kù),名稱為 MiniSvn。 數(shù)據(jù)庫(kù)配置與使用模塊詳細(xì)設(shè)計(jì) 數(shù)據(jù)庫(kù)內(nèi)容詳細(xì)設(shè)計(jì)代碼管理系統(tǒng)要用到數(shù)據(jù)庫(kù)存儲(chǔ)版本信息。(6)綠色鉤圖標(biāo),表示測(cè)試版本與上一次生成的版本沒(méi)有差異,即未做任何修改。(4)紅色圓圈圖標(biāo),表示該文件在該版本中被修改過(guò),詳細(xì)的修改信息可以通過(guò)子版本號(hào)查看在第幾版本中進(jìn)行修改。用戶不能對(duì)這些文件進(jìn)行修改于刪除,而只能對(duì)其進(jìn)行檢出操作。(2)文件夾圖標(biāo),表示歷史版本。(1)顯示器圖標(biāo),表示測(cè)試版本。圖 54 CMiniSvnView 類與 CBKView 類顯示內(nèi)容差異(二)主界面圖標(biāo)詳細(xì)設(shè)計(jì)主界面是由 4 個(gè)模塊組成的:菜單欄、左樹(shù)列表、右信息列表和底部差異信息列表。而CBKView 底部信息列表則是顯示鼠標(biāo)指定的版本于前一版本的差別或者說(shuō)變更信息。它和 CBKView類中的列名基本一致,只相差一個(gè)狀態(tài)列。具體如圖 53所示。如圖 52 所示。檢出操作只能檢出已經(jīng)生成的版本(即歷史版本) ,而不能檢出當(dāng)前為生成正式的測(cè)試版本。本程序的主要操作有檢出、提交、更新、工程設(shè)置、刷新和刪除。*pResult = 0。}i=1。((CMiniSvnView *)g_pView[1])UpdateView()。getDBVersion(2,0)。static int i=0。((CBKView *)(g_pView[2]))UpdateView()。getDBVersion(2,index)。g_nSelVid = index。int index = 0。 HTREEITEM select_item= ()。 CtlTree=(CTreeCtrlamp。}void CLTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) {NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR。tvi)。//=80。//=TVIF_HANDLE|TVIF_TEXT。}(item_root,TVE_EXPAND)。HTREEITEM item_second= (amp。=2。= (0)。 i++){(版本%d,g_verInfoVec[i].nPVid)。for(i=0。tvSecond)。=0。=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE。=item_root。CString str。item_root= (amp。=1。= g_sPName。//樹(shù)葉HTREEITEM item_root。//樹(shù)根 TV_INSERTSTRUCT tvSecond。int i=0。)GetTreeCtrl ()。}void CLTree::UpdateView(){CTreeCtrlamp。杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)19::SetWindowLong ( ,GWL_STYLE,dwStyle)。//設(shè)置列表視圖的風(fēng)格DWORD dwStyle=GetWindowLong( ,GWL_STYLE)。 (amp。)GetTreeCtrl ()。CTreeCtrlamp。 (AfxGetApp()LoadIcon (IDI_LIB_CLOSE))。//創(chuàng)建圖標(biāo)列表 (AfxGetApp()LoadIcon (IDI_SYS_NAME))。CTreeView::OnInitialUpdate()。CLTree 列表初始狀態(tài)是只有一個(gè)版本 0 和測(cè)試版本,當(dāng)用戶不斷地提交生成新的版本是,左邊列表也跟著相應(yīng)的增加列表樹(shù)葉單元。(i,5,g_chgVec[i].sSName)。(i,3,strInfo[0])。(i,1,g_chgVec[i].sContents)。strInfo[1].Format(%d,g_chgVec[i].nSubVId)。 i()。CString strInfo[2]。)GetListCtrl()。}void CBKView::UpdateView(){CListCtrl amp。m_Imglist,LVSIL_SMALL)。 (AfxGetApp()LoadIcon (IDI_FILE_DEL))。 (AfxGetApp()LoadIcon (IDI_FILE_ADD))。 (16,16,ILC_COLORDDB|ILC_MASK,4,4)。 (4,子版本號(hào),LVCFMT_LEFT,100)。 (2,Md5 哈希值,LVCFMT_LEFT,120)。 (0,文件名稱,LVCFMT_LEFT,60)。 (LVS_EDITLABELS,0)。)GetListCtrl()。CListCtrl amp。其核心代碼為:void CBKView::OnInitialUpdate() {g_pView[2] = this。這些屬性是確定一個(gè)文件的依據(jù),方便下用戶查詢。(1)CBKView 類是顯示在主界面底部的差異信息列表。圖 51MiniSvn 類結(jié)構(gòu)圖其中前面為紅色方塊的為類成員函數(shù),淺藍(lán)色方塊的為類成員數(shù)據(jù)。工程設(shè)置可以設(shè)置工程名、設(shè)置工程路徑和清空工程。工程信息界面里可以查看版本日志和進(jìn)行工程設(shè)置。圖 44 SVN 提交界面示意圖 工程信息界面本文的工程信息界面是在現(xiàn)有的 SVN 日志界面的基礎(chǔ)上,添加了一個(gè)工程設(shè)置功能設(shè)計(jì)而成的。信息框中用戶可以填寫備注信息,方便以后查看。具體如下圖 44 所示。(4)差異信息列表顯示當(dāng)前版本與上一版本的差異。(2)版本列表顯示的是各個(gè)已經(jīng)正式生成的歷史版本和當(dāng)前測(cè)試版本。主界面是由菜單、版本列表、信息列表和差異信息列表 4 個(gè)模塊組成。杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)14主程序模塊連接數(shù)據(jù)庫(kù)模塊 主功能模塊檢出 更新 提交 查看數(shù)據(jù)庫(kù)讀取數(shù)據(jù)庫(kù)存儲(chǔ)圖 42 功能模塊劃分示圖我覺(jué)得這樣的模塊劃分設(shè)計(jì)符合強(qiáng)內(nèi)聚,弱耦合的原則,并且易于實(shí)現(xiàn)。本文設(shè)計(jì)的代碼管理系統(tǒng)是把服務(wù)器與客戶端融合在一臺(tái) PC 機(jī)上即可,而不用另外單獨(dú)的服務(wù)器。如圖 41 所示。在客戶發(fā)出一個(gè)請(qǐng)求之前,服務(wù)進(jìn)程一直處于休眠狀態(tài)。Client/Server 模型最終可歸結(jié)為一種“請(qǐng)求 /應(yīng)答” 關(guān)系。尤其是網(wǎng)絡(luò)技術(shù)的發(fā)展,使得當(dāng)前很多系統(tǒng)都采用這種方式進(jìn)行構(gòu)造,其最大的優(yōu)點(diǎn)是將計(jì)算機(jī)工作任務(wù)分別由客戶端和服務(wù)器端來(lái)共同完成,這樣有利于充分合理的利用系統(tǒng)資源。有時(shí),可能有多個(gè)客戶向同一個(gè)服務(wù)器同時(shí)請(qǐng)求服務(wù),這就需要服務(wù)器決定怎樣處理這些請(qǐng)求。最后用該結(jié)果取代 a、b、c杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)12或 d 中之一。每次操作對(duì) a、b、 c 和 d 中的其中三個(gè)作一次非線性函數(shù)運(yùn)算,然后將所得結(jié)果加上第四個(gè)變量,文本的一個(gè)子分組和一個(gè)常數(shù)。   主循環(huán)有四輪(MD4 只有三輪),每輪循環(huán)都很相似。循環(huán)的次數(shù)是信息中 512 位信息分組的數(shù)目。   MD5 中有四個(gè) 32 位被稱作鏈接變量(Chaining Variable)的整數(shù)參數(shù),他們分別為:A=0x01234567 ,B=0x89abcdef ,C=0xfedcba98,D=0x76543210。經(jīng)過(guò)這兩步的處理,現(xiàn)在的信息字節(jié)長(zhǎng)度=N*512+448+64=(N+1)*512,即長(zhǎng)度恰好是 512 的整數(shù)倍。填充的方法如下,在信息的后面填充一個(gè) 1 和無(wú)數(shù)個(gè) 0,直到滿足上面的條件時(shí)才停止用 0 對(duì)信息的填充。   在 MD5 算法中,首先需要對(duì)信息進(jìn)行填充,使其字節(jié)長(zhǎng)度對(duì) 512 求余的結(jié)果等于 448。MD5 用的是哈希函數(shù),在計(jì)算機(jī)網(wǎng)絡(luò)中應(yīng)用較多的不可逆加密算法有 RSA 公司發(fā)明的 MD5 算法和由美國(guó)國(guó)家技術(shù)標(biāo)準(zhǔn)研究所建議的安全散列算法 SHA。使用他們的技術(shù),在數(shù)個(gè)小時(shí)內(nèi)就可以找到 MD5 碰撞?! D5 破解工程權(quán)威網(wǎng)站 是為了公開(kāi)征集專門針對(duì)MD5 的攻擊而設(shè)立的,網(wǎng)站于 2022 年 8 月 17 日宣布:“中國(guó)研究人員發(fā)現(xiàn)了完整 MD5 算法的碰撞;Wang, Feng, Lai 與 Yu 公布了 MDMDHAVAL12RIPEMD128 幾個(gè) Hash 函數(shù)的碰撞。因?yàn)?SHA-1 在美國(guó)等國(guó)際社會(huì)有更杭州電子科技大學(xué)信息工程學(xué)院本科畢業(yè)設(shè)計(jì)11加廣泛的應(yīng)用,密碼被破的消息一出,在國(guó)際社會(huì)的反響可謂石破天驚。宣告了固若金湯的世界通行密碼標(biāo)準(zhǔn) MD5的堡壘轟然倒塌,引發(fā)了密碼學(xué)界的軒然大波。但即便是應(yīng)用在絕密領(lǐng)域內(nèi),MD5 也不失為一種非常優(yōu)秀的中間技術(shù)),MD5 怎么都應(yīng)該算得上是非常安全的了。上面所有這些都不足以成為 MD5 的在實(shí)際應(yīng)用中的問(wèn)題。   Van oorschot 和 Wiener 曾經(jīng)考慮過(guò)一個(gè)在散列中暴力搜尋沖突的函數(shù)(bruteforce hash function),而且他們猜測(cè)一個(gè)被設(shè)計(jì)專門用來(lái)搜索 MD5 沖突的機(jī)器(這臺(tái)機(jī)器在 1994 年的制造成本大約是一百萬(wàn)美元)可以平均每 24天就找到一個(gè)沖突。在 MD5 算法中,信息摘要的大小和填充的必要條件與 MD5 完全相同。雖然 MD5 比 MD4稍微慢一些,但卻更為安全?! ∫荒暌院?,即 1991 年,Rivest 開(kāi)發(fā)出技術(shù)上更為趨近成熟的 md5 算法。   盡管 MD4 算法在安全上有個(gè)這么大的漏洞,但它對(duì)在其后才被開(kāi)發(fā)出來(lái)的好幾種信息安全加密算法的出現(xiàn)卻有著不可忽視的引導(dǎo)作用。Dobbertin 向大家演示了如何利用一部普通的個(gè)人電腦在幾分鐘內(nèi)找到 MD4 完整版本中的沖突(這個(gè)沖突實(shí)際上是一種漏洞,它將導(dǎo)致對(duì)不同的內(nèi)容進(jìn)行加密卻可能得到相同的加密后結(jié)果)。信息被處理成 512 位 damg?rd/merkle 迭代結(jié)構(gòu)的區(qū)塊,而且每個(gè)區(qū)塊要通過(guò)三個(gè)不同步驟的處理。MD4 算法同樣需要填補(bǔ)信息以確保信息的字節(jié)長(zhǎng)度加上 448 后能被 512 整除(信息字節(jié)長(zhǎng)度 mod 512 = 448)。MD2 算法的加密后結(jié)果是唯一的即沒(méi)有重復(fù)。并且根據(jù)這個(gè)新產(chǎn)生的信息計(jì)算出散列值。在這個(gè)算法中,首先對(duì)信息進(jìn)行數(shù)據(jù)補(bǔ)位,使信息的字節(jié)長(zhǎng)度是 16 的倍數(shù)。這三個(gè)算法的描述和 c 語(yǔ)言源代碼在Inter RFC 1321 中有詳細(xì)的描述(份最權(quán)威的文檔,由 Ronald L. Rivest 在 1992 年 8 月向 IETF 提交。不管是 MDMD4 還是 MD5,它們都需要獲得一個(gè)隨機(jī)長(zhǎng)度的信息并產(chǎn)生一個(gè)128 位的信息摘要。在 90 年代初由 MIT Laboratory for Computer Science 和 RSA Data Security Inc,的 Ronald L. Rivest 開(kāi)發(fā)出來(lái),經(jīng) MDMD3 和 MD4 發(fā)展而來(lái)。VC++應(yīng)用程序的開(kāi)發(fā)主要有兩種模式,一種是 WIN API 方式,另一種則是MFC 方式,傳統(tǒng)的 WIN API 開(kāi)發(fā)方式比較繁瑣,而 MFC 則是對(duì) WIN
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1