本發(fā)明屬于計算機,尤其是涉及一種防篡改數(shù)字水印生成方法。
背景技術:
1、數(shù)字水印是一種將數(shù)字信息嵌入到載體中的技術,常用于保護數(shù)字內(nèi)容的版權和防止篡改,然而,傳統(tǒng)的數(shù)字水印生成方法往往存在被刪除或者篡改的風險,特別是在前端應用中,數(shù)字水印容易被攻擊者通過手段刪除或者修改。因此,本發(fā)明提供了一種在前端應用中生成不可刪除的數(shù)字水印的方法,保證數(shù)字內(nèi)容的可追溯性和防篡改性
技術實現(xiàn)思路
1、有鑒于此,本發(fā)明旨在提出一種防篡改數(shù)字水印生成方法,以期解決上述部分技術問題中的至少之一。
2、為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:
3、一種防篡改數(shù)字水印生成方法,包括如下步驟:
4、生成一個數(shù)字水印,所述水印由隨機的字符、數(shù)字、圖形組成;
5、對所述數(shù)字水印進行混淆處理,并將處理后數(shù)字水印嵌入至網(wǎng)頁中;
6、嵌有數(shù)字水印的網(wǎng)頁在加載的過程中,檢測所述數(shù)字水印是否仍存在于網(wǎng)頁中,并驗證數(shù)字水印的內(nèi)容是否未被篡改;
7、當檢測結(jié)果及驗證結(jié)果均為是時,正常開啟網(wǎng)頁;否則將錯誤信息發(fā)送至工作人員處。
8、進一步的,所述生成一個數(shù)字水印的過程包括:
9、設置水印長度并選擇用于生成水印的字符集,其中,所述字符集包括大寫字母、小寫字母、數(shù)字、特殊字符、圖形符號;
10、根據(jù)設置的水印長度生成一個具有相同長度的數(shù)組,隨機從所述字符集中選取一個值填入數(shù)組中,直至所述數(shù)組被完全填充。
11、進一步的,所述數(shù)字水印生成后,為其添加標識標簽,所述標識標簽的生成過程包括:
12、順序生成標識符,記錄數(shù)字水印生成的時間戳,記錄當前網(wǎng)頁的版本號,將所述標識符、時間戳、版本號通過哈希計算,得到對應的哈希值,并將所述哈希值作為標識標簽。
13、進一步的,所述隨機從所述字符集中選取一個值填入數(shù)組中的過程包括:
14、使用系統(tǒng)的當前時間作為一個主要的隨機種子,并從系統(tǒng)環(huán)境中獲取多個環(huán)境變量;
15、將獲取的時間戳和環(huán)境變量的值結(jié)合成一個字符串,對字符串進行哈希處理,將生成的哈希值轉(zhuǎn)換為整數(shù)并將其作為隨機數(shù)生成器的種子;
16、使用隨機數(shù)生成器生成隨機數(shù),根據(jù)隨機數(shù)在字符集中選擇對應的字符。
17、進一步的,所述檢測數(shù)字水印是否仍存在于網(wǎng)頁中的過程包括:
18、通過發(fā)送http請求并解析返回的html響應獲取指定網(wǎng)頁的html內(nèi)容,提取解析獲取到的html中需要檢測的內(nèi)容;
19、在提取的過程中使用字符串匹配算法搜索數(shù)字水印的特征,根據(jù)搜索結(jié)果判斷水印是否仍然存在;
20、如果找到相應的特征,說明水印仍然存在;如果沒有找到,則可以認為水印已被移除或改變。
21、進一步的,所述驗證數(shù)字水印的內(nèi)容是否未被篡改的過程包括:
22、在內(nèi)容中嵌入數(shù)字水印時,使用特定的算法將水印信息與原始內(nèi)容結(jié)合,記錄原始內(nèi)容的哈希值;
23、當需要驗證時,提取當前內(nèi)容,使用與嵌入水印時相同的算法從提取的內(nèi)容中恢復水印信息;
24、計算提取內(nèi)容的哈希值,并與之前保存的原始內(nèi)容哈希值進行比較,如果兩個哈希值一致,則內(nèi)容未被篡改;否則內(nèi)容被篡改。
25、進一步的,所述對數(shù)字水印進行混淆處理的過程包括:
26、通過創(chuàng)建一個字符映射表將水印的字符替換為其他字符或符號;
27、對變量名進行混淆,將其替換為無意義的字符串;
28、對函數(shù)名進行隨機化,將函數(shù)名稱替換為不具描述性的字符組合;
29、將數(shù)字水印分解為多個片段,并將這些片段分散到不同的代碼位置。
30、相對于現(xiàn)有技術,本發(fā)明所述的一種防篡改數(shù)字水印生成方法具有以下
31、有益效果:
32、實現(xiàn)了數(shù)字內(nèi)容的可追溯和防篡改,與傳統(tǒng)的數(shù)字水印生成方法相比,本發(fā)明的數(shù)字水印無法被常規(guī)手段刪除或篡改,提高了數(shù)字內(nèi)容的安全性和保護效果,同時,本發(fā)明所提供的混淆數(shù)字水印的方法可以降低攻擊者的攻擊難度,增加數(shù)字水印的可靠性和復雜度。
1.一種防篡改數(shù)字水印生成方法,其特征在于,包括如下步驟:
2.根據(jù)權利要求1所述的一種防篡改數(shù)字水印生成方法,其特征在于,所述生成一個數(shù)字水印的過程包括:
3.根據(jù)權利要求1所述的一種防篡改數(shù)字水印生成方法,其特征在于,所述數(shù)字水印生成后,為其添加標識標簽,所述標識標簽的生成過程包括:
4.根據(jù)權利要求2所述的一種防篡改數(shù)字水印生成方法,其特征在于,所述隨機從所述字符集中選取一個值填入數(shù)組中的過程包括:
5.根據(jù)權利要求1所述的一種防篡改數(shù)字水印生成方法,其特征在于,所述檢測數(shù)字水印是否仍存在于網(wǎng)頁中的過程包括:
6.根據(jù)權利要求1所述的一種防篡改數(shù)字水印生成方法,其特征在于,所述驗證數(shù)字水印的內(nèi)容是否未被篡改的過程包括:
7.根據(jù)權利要求1所述的一種防篡改數(shù)字水印生成方法,其特征在于,所述對數(shù)字水印進行混淆處理的過程包括: