最近帶了電子工程實踐一門課程,需要各位同學上交作業,這種實踐課程作業相互抄襲一向常見,如果是抄襲也還好,由於交的是電子版,最可惡的就是拿別人的檔案改了下名字就變成自己的,識別方法有很多,最簡單的方法就是看修改時間和檔案大小。
如下圖所示,不同人的作業,修改時間、檔案大小完全相同,正常情況下這是不可能發生的事情。(圖中涉及姓名均以做處理)所以這種情況基本可以判斷這些檔案是否相同了,但是單純從這一點判斷還很難說明問題,還需要更嚴謹的方法。
更嚴謹一點的就是比對sha1和md5值。
md5的典型應用是對一段message(位元組串)產生fingerprint(指紋),以防止被"篡改"。舉個例子,你將一段話寫在乙個叫 readme.txt檔案中,並對這個readme.txt產生乙個md5的值並記錄在案,然後你可以傳播這個檔案給別人,別人如果修改了檔案中的任何內容,你對這個檔案重新計算md5時就會發現(兩個md5值不相同)。如果再有乙個第三方的認證機構,用md5還可以防止檔案作者的"抵賴",這就是所謂的數字簽名應用。也就是說md5可以作為判斷兩個檔案是否相同的重要標準。如果兩個檔案的md5值相同,那麼可以肯定這兩個檔案就是一樣的。
將上面的檔案進行md5驗證。可以看到,這兩個檔案雖然檔名不同,但是md5值和sha1、crc32等校驗值完全相同。
而同樣的乙個檔案,哪怕只要開啟做一點點改動,最後得到的就是兩個完全不相同的md5值,下圖中為我用自己的軟體對檔案開啟後沒有做任何改動重新儲存的校驗結果。
基本原理已經清楚了,那麼寫個程式來批量比較就很容易了,好在網上可以非常方便的找到的類似的程式,於是對所有同學的作業進行了md5值比較。比較結果如下,下圖左側為比較的檔案,右側為相同的檔案路徑列表。
通過上面的分析,有那些人的作業是直接拷貝別人的檔案直接改個名字就交上來的這樣一分析就非常清楚了。可惜結果很讓人痛心。
學生何苦為難學生,我不會給低分,但是直接改檔名就交作業的同學也不會有高分。
抄襲率檢測過高 要避免哪些抄襲
二 影象圖形抄襲 抄襲他人研究成果中的獨創性影象 實驗影象據為己有,或者照搬挪用他人以獨創形式表現的影象 圖表,據為己有。三 概念 定義 原理 公式等 抄襲 竊取他人受著作權保護的作品中獨創概念 定義 方法 原理 公式等。五 引言抄襲 挪用剽竊他人作品引言 或緒論 包括研究工作的目的 範圍 相關領域...
計蒜客 抄襲檢測 (最長公共子串)
int r maxn r 陣列儲存了字串中的每個元素值,除最後乙個元素外,每個元素的值在 1.m 之間,最後乙個元素的值為 0 int wa maxn wb maxn wv maxn ws maxn 這 4 個陣列是字尾陣列計算時的臨時變數,無實際意義 int sa maxn sa i 儲存第 i ...
目標檢測簡單總結
two stage 參考資料 按照stage可以分為 two stage 谷歌在speed accuracy trade offs for modern convolutional object detectors中將目標檢測模型分為了三種元結構faster r cnn,r fcn和ssd 網上文章...