使用 GroupDocs.Signature for .NET 实现自定义加密的二维码签名搜索

介绍

在数字文档管理领域,通过签名确保文档的真实性和完整性至关重要。GroupDocs.Signature for .NET 提供了强大的解决方案,可以高效处理签名数据。本教程将指导您在应用程序中实现带有自定义加密的安全二维码签名搜索。

您将学到什么:

  • 定义一个自定义类来处理签名数据。
  • 在文档中搜索二维码签名。
  • 实施自定义加密选项以增强安全性。
  • 应用 .NET 开发中的最佳实践。

完成本指南后,您将能够将这些功能无缝集成到您的应用程序中。首先,让我们确保满足所有先决条件。

先决条件

在开始之前,请确保您已:

  • 所需库: GroupDocs.Signature 用于 .NET 库。
  • 环境设置: 使用 Visual Studio 或任何支持 .NET 应用程序的首选 IDE 设置的开发环境。
  • 知识前提: 对 C# 和 .NET 框架有基本的了解。

为 .NET 设置 GroupDocs.Signature

安装

使用以下包管理器之一安装 GroupDocs.Signature 库:

.NET CLI

dotnet add package GroupDocs.Signature

包管理器

Install-Package GroupDocs.Signature

NuGet 包管理器 UI 搜索“GroupDocs.Signature”并安装最新版本。

许可证获取

要使用 GroupDocs.Signature,请获取许可证:

  • 免费试用: 探索基本特征。
  • 临时执照: 进行更广泛的测试。
  • 完整许可证: 供生产使用。

访问 GroupDocs 许可 有关获取这些许可证的更多信息。

基本初始化和设置

使用以下代码片段在您的应用程序中初始化 GroupDocs.Signature:

using (Signature signature = new Signature("YOUR_DOCUMENT_PATH"))
{
    // 您的实现在这里。
}

实施指南

本节指导您使用自定义加密实现二维码签名搜索。

定义自定义数据签名类

概述

首先,定义一个自定义类来表示二维码签名中的数据。这允许定制处理签名信息,包括以下属性: IDAuthor, 和 Signed

实施步骤

1.创建自定义类

using System;
using GroupDocs.Signature.Domain;

namespace GroupDocs.Signature.Examples.CSharp.AdvancedUsage
{
    private class DocumentSignatureData
    {
        [Format("SignID")]
        public string ID { get; set; }

        [Format("SAuth")]
        public string Author { get; set; }

        [Format("SDate", "yyyy-MM-dd")]
        public DateTime Signed { get; set; }

        [Format("SDFact", "N2")]
        public decimal DataFactor { get; set; }
        
        [SkipSerialization]
        public string Comments { get; set; }
    }
}

解释:

  • [格式] 属性将类属性映射到特定的数据格式。
  • Comments 属性标记为 [SkipSerialization],表示不会被序列化,从而增强安全性和性能。

使用自定义选项搜索文档中的二维码签名

概述

实施一种使用自定义加密选项在文档中搜索二维码签名的方法,以确保敏感数据的安全处理。

实施步骤

2. 设置加密和搜索选项

using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Options;

namespace GroupDocs.Signature.Examples.CSharp.AdvancedUsage
{
    public class SearchForQRCodeCustomEncryptionObject
    {
        public static void Run()
        {
            string filePath = "YOUR_DOCUMENT_DIRECTORY\\SamplePdfQrCodeCustomEncryptionObject.pdf";

            using (Signature signature = new Signature(filePath))
            {
                // 创建自定义数据加密实例。
                IDataEncryption encryption = new CustomXOREncryption();

                QrCodeSearchOptions options = new QrCodeSearchOptions()
                {
                    AllPages = true,
                    DataEncryption = encryption
                };

                try
                {
                    List<QrCodeSignature> signatures = signature.Search<QrCodeSignature>(options);
                    
                    foreach (var qrCodeSignature in signatures)
                    {
                        DocumentSignatureData documentSignatureData = qrCodeSignature.GetData<DocumentSignatureData>();
                        
                        if (documentSignatureData != null)
                        {
                            Console.WriteLine(
                                "QRCode signature found at page {0} with type {1}. ID = {2}, Author = {3}, Signed = {4}, DataFactor = {5}",
                                qrCodeSignature.PageNumber, 
                                qrCodeSignature.EncodeType,
                                documentSignatureData.ID, 
                                documentSignatureData.Author, 
                                documentSignatureData.Signed.ToShortDateString(), 
                                documentSignatureData.DataFactor
                            );
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("An error occurred: " + ex.Message);
                    Console.WriteLine(
                        "This example requires a license to properly run. Visit the GroupDocs site to obtain a temporary or permanent license."
                    );
                }
            }
        }
    }
}

解释:

  • 自定义XOREncryption: 实现自定义数据加密。
  • QrCodeSearchOptions 对象指定应搜索所有页面,并应用加密。

故障排除提示

  • 确保正确指定文档路径以避免出现文件未找到错误。
  • 验证您是否拥有处理二维码签名所需的许可证。

实际应用

此功能可以增强各种现实世界场景:

  1. 法律文件: 使用安全加密自动验证并从法律合同中提取签名数据。
  2. 财务报告: 在财务文件中搜索经过验证的签名,确保数据的完整性和合规性。
  3. 医疗记录: 使用加密的二维码签名安全地管理敏感的医疗记录,保护患者信息。

性能考虑

  • 优化资源使用: 逐步处理大文件以减少内存消耗。
  • .NET内存管理的最佳实践:
    • 使用 using 声明以确保妥善处置资源。
    • 分析您的应用程序以识别和优化性能瓶颈。

结论

在本教程中,您学习了如何使用 GroupDocs.Signature for .NET 实现自定义加密的二维码签名搜索。您学习了如何定义自定义数据类、设置自定义加密的搜索选项,并探索了这些功能在实际场景中的实际应用。

后续步骤:

  • 尝试不同类型的签名。
  • 探索 GroupDocs.Signature 提供的附加功能,以增强应用程序的文档管理功能。

准备好尝试使用自定义加密实现二维码签名搜索了吗?立即开始将安全高效的解决方案集成到您的 .NET 应用程序中!