使用 GroupDocs.Signature for Java 實作 Java 加密和元資料簽章搜尋
介紹
在當今的數位世界中,確保文件安全性和元資料完整性對於各行各業都至關重要。無論您是要驗證已簽署的文檔,還是要透過加密保護敏感訊息,GroupDocs.Signature for Java 等工具都可以簡化這些任務。本教學將指導您使用 GroupDocs API 建立具有加密搜尋功能的自訂資料簽章。
您將學到什麼:
- 如何在 Java 中建立自訂元資料簽章類別。
- 實施自訂加密以確保文件處理的安全。
- 使用加密選項搜尋和處理元資料簽章。
讓我們先設定您的環境並逐步探索這些功能。
先決條件
在開始之前,請確保您已:
- Java 開發工具包 (JDK): 版本 8 或更高版本。
- Maven 或 Gradle: 用於管理依賴關係。
- GroupDocs.Signature Java 函式庫: 需要存取 23.12 或更高版本。
對 Java 程式設計有基本的了解並熟悉文件元資料處理將會很有幫助。
為 Java 設定 GroupDocs.Signature
首先,將 GroupDocs.Signature for Java 加入專案的依賴項:
Maven 依賴
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Gradle 實現
implementation 'com.groupdocs:groupdocs-signature:23.12'
或者,從下載最新版本 GroupDocs.Signature Java 版本.
許可證取得步驟:
- 免費試用: 從免費試用開始探索功能。
- 臨時執照: 獲得臨時許可證以進行延長測試。
- 購買: 對於生產用途,請考慮從 GroupDocs 購買頁面.
基本初始化
要在 Java 專案中初始化 GroupDocs.Signature:
import com.groupdocs.signature.Signature;
public class DocumentHandler {
public static void main(String[] args) {
String filePath = "path/to/your/document";
Signature signature = new Signature(filePath);
// 現在您已準備好使用簽名功能。
}
}
實施指南
自訂資料簽名類
概述
自訂資料簽章類別支援在文件中嵌入額外的元資料。此功能對於追蹤文件詳細資訊(例如作者身份和簽名日期)至關重要。
實施 DocumentSignatureData
班級
建立一個 Java 類別來定義您的自訂簽章資料:
import com.groupdocs.signature.domain.signatures.metadata.WordProcessingMetadataSignature;
import com.groupdocs.signature.domain.extensions.serialization.FormatAttribute;
public static class DocumentSignatureData {
@FormatAttribute(propertyName = "SignID")
public String ID;
@FormatAttribute(propertyName = "SAuth")
public final String Author;
@FormatAttribute(propertyName = "SDate", propertyFormat = "yyyy-MM-dd")
public final java.util.Date Signed = new java.util.Date();
@FormatAttribute(propertyName = "SDFact", propertyFormat = "N2")
public final java.math.BigDecimal DataFactor = new java.math.BigDecimal(0.01);
// Getter 和 Setter
public String getID() { return ID; }
public void setID(String value) { ID = value; }
public final String getAuthor() { return Author; }
public final java.util.Date getSigned() { return Signed; }
public final java.math.BigDecimal getDataFactor() { return DataFactor; }
}
解釋:
- @FormatAttribute: 裝飾類別屬性來定義元資料屬性。
- Getter 和 Setter: 允許存取和修改自訂簽名資料。
自訂加密實現
概述
自訂加密可確保您文件的元資料簽章保持安全。本指南示範如何為此目的實施 XOR 加密。
實施 CustomDataEncryption
班級
import com.groupdocs.signature.domain.extensions.encryption.IDataEncryption;
import com.groupdocs.signature.examples.advanced_usage.custom_encryption.CustomXOREncryption;
public static class CustomDataEncryption {
public static IDataEncryption createCustomEncryption() {
return new CustomXOREncryption();
}
}
解釋:
- 自訂XOREncryption: GroupDocs 提供的簡單 XOR 加密實作。
具有加密選項的元資料簽章搜索
概述
若要在套用自訂加密時搜尋元資料簽名,請配置您的 Signature
物件並指定加密設定。
實施 searchForMetadataWithEncryption
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.exception.GroupDocsSignatureException;
import com.groupdocs.signature.options.search.MetadataSearchOptions;
public static void searchForMetadataWithEncryption(String filePath) throws Exception {
try {
Signature signature = new Signature(filePath);
IDataEncryption encryption = CustomDataEncryption.createCustomEncryption();
MetadataSearchOptions options = new MetadataSearchOptions();
options.setDataEncryption(encryption);
List<WordProcessingMetadataSignature> signatures =
signature.search(WordProcessingMetadataSignature.class, options);
processSignatures(signatures);
} catch (Exception e) {
throw new GroupDocsSignatureException(e.getMessage());
}
}
解釋:
- 元資料搜尋選項: 配置搜尋參數並套用加密。
- 流程簽名: 處理文件中找到的簽名。
處理簽名
概述
搜尋後,處理元資料以提取相關資訊以供顯示或進一步使用。
private static void processSignatures(List<WordProcessingMetadataSignature> signatures) {
WordProcessingMetadataSignature wordSignature = null;
for (WordProcessingMetadataSignature mdSign : signatures) {
if (mdSign.getName().equals("Signature")) {
wordSignature = mdSign;
break;
}
}
if (wordSignature != null) {
DocumentSignatureData documentSignatureData =
wordSignature.getData(DocumentSignatureData.class);
// 根據需要處理提取的數據
}
}
解釋:
- 流程簽名: 處理特定元資料類型的輔助方法。
實際應用
- 法律合約: 追蹤簽署細節並確保合約完整性。
- 財務文件: 使用加密技術保護敏感的財務資訊。
- 協作工作流程: 管理團隊專案中的文件版本和作者身份。
- 教育機構: 核實證書和成績單的真實性。
- 政府記錄: 維護安全且可審計的公共記錄。
性能考慮
為了優化使用 GroupDocs.Signature 時的效能:
- 透過分塊處理大型文件來最大限度地減少資源使用。
- 使用高效率的資料結構進行簽章處理。
- 優化記憶體管理以防止洩漏,尤其是在進行大批量操作時。
結論
透過本指南,您學習如何使用 GroupDocs.Signature API 在 Java 中實作自訂元資料簽章並套用加密。這些功能對於確保各種應用程式中文件的安全性和完整性至關重要。為了進一步增強您的實現,您可以探索 GroupDocs 庫的其他功能,並考慮將其與其他工具或框架整合以滿足您的特定需求。