12 :根據(jù)所述水印位置碼確定所述文本文檔中嵌入的水印信息的位置,之 后從所述文本文檔中相應的位置提取水印信息。
[0111] 可選的,如圖6所示,步驟402所述根據(jù)所述水印信息獲取相應的水印要素信息, 包括:
[0112] 步驟4021 :根據(jù)所述水印信息獲取水印信息安全串;
[0113] 步驟4022 :對所述水印信息安全串進行完整性及有效性檢測;
[0114] 步驟4023 :檢測通過后,從所述水印信息安全串中提取水印識別碼;
[0115] 步驟4024 :根據(jù)所述水印識別碼確定對應的水印要素信息。
[0116] 可選的,本發(fā)明實施例中,所述水印位置碼為"第一隱藏記錄位置行號+tab鍵+第 一隱藏記錄在該行的位置偏移索引號+tab鍵+第二隱藏記錄位置行號+tab鍵+第二隱藏 記錄在該行的位置偏移索引號+tab鍵+第三隱藏記錄位置行號+tab鍵+第三隱藏記錄在 該行的位置偏移索引號+tab鍵+……+第n隱藏記錄位置行號+tab鍵+第n隱藏記錄在 該行的位置偏移索引號"。
[0117] 可選的,本發(fā)明實施例中所述水印信息安全串包括水印前綴、水印識別碼加密串、 水印后綴和水印校驗碼,其中,
[0118] 所述水印前綴、水印后綴由空格鍵和/或tab鍵組成,
[0119] 所述水印識別碼加密串由水印識別碼進行可逆的加密運算得到,
[0120] 所述水印校驗碼由水印識別碼長度和水印識別碼的可逆加密串組成。
[0121] 本發(fā)明實施例還相應地提出了一種水印處理裝置,如圖7所示,該裝置包括:第一 獲取模塊701、第二獲取模塊703和嵌入模塊703 ;其中,
[0122] 第一獲取模塊701,用于獲取文本文檔及水印要素信息;具體的,第一獲取模塊需 要具備對文本文檔的處理能力,文本文檔的處理主要采用文件流的方式,包括文件的打開、 關閉、文件游標的定位,文件數(shù)據(jù)的讀取、寫入和刪除等功能。可選的,第一獲取模塊701用 于管理水印處理裝置的接入,主要包括HTTP和標準WebServiceSOAP服務方式的接入,以及 水印處理裝置提供的API調(diào)用方式的接入。應用系統(tǒng)通過接入管理的接口,將要進行水印 嵌入的文本文檔,以及用于形成水印的相關要素信息傳遞給第一獲取模塊701。
[0123] 第二獲取模塊702,用于根據(jù)第一獲取模塊701獲取的水印要素信息獲取待嵌入 的水印信息;
[0124] 嵌入模塊703,用于將所述第二獲取模塊702獲取的所述待嵌入的水印信息嵌入 所述文本文檔中。
[0125] 可選的,如圖8所示,第二獲取模塊702具體包括:水印識別碼生成子模塊7021、 加密處理子模塊7022、轉換子模塊7023 ;其中,
[0126] 水印識別碼生成子模塊7021,用于根據(jù)所述水印要素信息生成水印識別碼,所述 水印要素信息與所述水印識別碼一一對應;水印識別碼將用來嵌入到文本文檔中,這樣便 可以通過嵌入的水印識別碼進行文本文檔的身份識別和文檔來源的跟蹤,即確定文本文檔 是由誰,在什么時間點下載或者導出的,來自哪臺電腦。
[0127] 加密處理子模塊7022,用于對所述水印識別碼進行加密處理,生成水印信息安全 串;
[0128] 轉換子模塊7023,用于將所述水印信息安全串轉換成待嵌入的水印信息,所述待 嵌入的水印信息為隱藏的水印信息。
[0129] 可選的,嵌入模塊703負責將隱藏的水印信息隨機散布于一個或多個記錄行的尾 部,形成不可見的水印信息,如圖9所示,嵌入模塊703具體包括:拆分子模塊7031、水印信 息嵌入子模塊7032和水印位置碼嵌入子模塊7033 ;其中,
[0130] 拆分子模塊7031,用于將所述待嵌入的水印信息拆分成第一隱藏記錄、第二隱藏 記錄、……、第n隱藏記錄,所述n為正整數(shù),且l〈n〈m,所述m為所述文本文檔的記錄行數(shù);
[0131] 水印信息嵌入子模塊7032,用于將所述第一隱藏記錄、第二隱藏記錄、……、第n 隱藏記錄分別嵌入第一隱藏記錄行、第二隱藏記錄行、……、第n隱藏記錄行的尾部,所述 第一隱藏記錄行、第二隱藏記錄行、……、第n隱藏記錄行為所述文本文檔的不同記錄行;
[0132] 水印位置碼嵌入子模塊7033,用于生成水印位置碼,并將所述水印位置碼嵌入所 述文本文檔的末尾。
[0133] 可選的,水印處理裝置還用于進行水印要素信息的持久化管理,包括增加、查詢水 印要素信息,和建立水印識別碼與水印要素信息的映射關系等功能。其中用于形成水印的 相關要素信息主要由應用系統(tǒng)通過接入接口提供。
[0134] 本發(fā)明實施例還相應地提出了一種水印處理裝置,如圖10所示,該裝置包括:水 印信息提取模塊1001和水印要素信息獲取模塊1002 ;其中,
[0135] 水印信息提取模塊1001,用于提取文本文檔中嵌入的水印信息,所述水印信息為 隱藏的水印信息;
[0136] 水印要素信息獲取模塊1002,用于根據(jù)所述水印信息獲取相應的水印要素信息。
[0137] 可選的,如圖11所示,水印信息提取模塊1001具體包括:水印位置碼獲取子模塊 10011、水印信息提取子模塊10012 ;其中,
[0138] 水印位置碼獲取子模塊10011,用于從所述文本文檔的末尾獲取水印位置碼;
[0139] 水印信息提取子模塊10012,用于根據(jù)所述水印位置碼確定所述文本文檔中嵌入 的水印信息的位置,之后從所述文本文檔中相應的位置提取水印信息。
[0140] 可選的,如圖12所示,水印要素信息獲取模塊1002具體包括:水印信息安全串獲 取子模塊10021、檢測子模塊10022、水印識別碼提取子模塊10023和水印要素信息確定子 模塊10024 ;其中,
[0141] 水印信息安全串獲取子模塊10021,用于根據(jù)所述水印信息獲取水印信息安全 串;
[0142] 檢測子模塊10022,用于對所述水印信息安全串進行完整性及有效性檢測;
[0143] 水印識別碼提取子模塊10023,用于在檢測子模塊檢測通過后,從所述水印信息安 全串中提取水印識別碼;
[0144] 水印要素信息確定子模塊10024,用于根據(jù)所述水印識別碼確定對應的水印要素 信息。
[0145] 本發(fā)明實施例還相應地提出了一種水印處理系統(tǒng),該系統(tǒng)包括:水印嵌入裝置和 水印提取裝置;其中,
[0146] 所述水印嵌入裝置為圖7至圖9任一所述的裝置;
[0147] 所述水印提取裝置為圖10至圖12任一所述的裝置。
[0148] 下面通過具體實施例對本發(fā)明的技術方案作進一步詳細說明。
[0149] 實施例1
[0150] 本實施例描述txt文本文檔的水印生成過程。圖13為本發(fā)明實施例1所述的水 印生成流程示意圖,如圖13所示,該方法包括:
[0151] 步驟1301 :應用層的txt數(shù)字水印應用程序,通過服務請求或者API請求來接入 水印處理裝置,進行txt文本文檔的水印生成處理,接入過程中主要需傳入txt文本文檔, 以及需要嵌入的水印要素信息如:"用戶編號、用戶名、組織機構、聯(lián)系電話、地址、ip地址、 mac地址、數(shù)據(jù)訪問時間"。
[0152] 步驟1302 :水印處理裝置接收應用程序的水印生成請求。
[0153] 步驟1303 :水印處理裝置根據(jù)水印要素信息生成唯一的水印識別碼,即與水印要 素信息對應的序列號。
[0154] 步驟1304 :水印處理裝置進行水印要素信息的存儲,同時建立水印識別碼與水印 要素信息的映射關系。
[0155] 本實施例中,水印識別碼與水印要素信息映射關系的存儲記錄如表1所示:
【主權項】
1. 一種水印處理方法,其特征在于,該方法