精选 · sgcCrypto

面向 Delphi 的现代密码学,纯 Object Pascal 实现

43 个单元,没有组件,没有设计期负担:传入 TBytes,拿回 TBytes。加密用 AES-GCM 和 ChaCha20-Poly1305,哈希与密钥派生用 SHA-3、BLAKE2 和 Argon2,签名与密钥交换用 Ed25519、X25519 和 RSA,还有 X.509 的解析与生成,以及后量子的 ML-KEM、ML-DSA 和 SLH-DSA。没有外部 DLL,没有 OpenSSL 绑定,同一份源代码从 Delphi 7 到 RAD Studio 13 无需改动即可编译。

  • 43 个单元,6 大能力家族
  • AEAD · 哈希 · 签名 · PKI · 后量子
  • 零外部依赖
  • Delphi 7 到 13 · C++ Builder

四十三个单元,六大能力家族

sgcCrypto 免费包含在 sgcWebSockets Standard、Professional 和 Enterprise 版本中。它也作为独立产品单独销售,内置 sgcWebSockets Core 运行时,面向只拥有 Core 或完全没有 sgcWebSockets 许可证的开发者。每份许可证都附带完整源代码。

43 Object Pascal 单元 每个单元都只导出普通函数。没有 Tsgc* 类,也没有 sgcCrypto_Reg.pas
6 能力家族 对称加密、哈希与 KDF、签名与密钥交换、PKI、后量子,以及 OTP 和实用工具。
0 外部依赖 没有需要随程序分发的 DLL,也没有需要对齐版本的 OpenSSL 绑定。这些原语就在您加入 uses 子句的那个单元里。
6 目标平台 同一份源代码即可编译到 Win32、Win64、Linux64、macOS、iOS 和 Android,sgcVer.inc 中没有任何平台限制。
100% 包含源代码 每一个原语都可以在您自己的调试器中单步跟踪,而不是消失在某个二进制文件里。
sgcCrypto

面向 Delphi 和 C++ Builder 的通用密码学库。从 sgcWebSockets Standard 版本起免费包含,也可作为独立产品购买,内置 sgcWebSockets Core 运行时,提供完整源代码,并可免版税部署。

加密、哈希、签名、颁发证书,并从容面对量子时代

这些家族是按您正在做的事情来划分的,而不是按背后的数学原理,因此您要找的那个单元,名字就是您想构建的那样东西。

对称加密 · 5 个单元

AES、ChaCha20,以及构建于其上的 AEAD 结构

sgcCrypto_AES 涵盖 CBC、GCM 和 CTR。sgcCrypto_Modes 增加了 ECB、OFB、CFB、密文挪用、AES-CCM 和 AES Key Wrap。sgcCrypto_ChaCha 实现了 ChaCha20、XChaCha20、Salsa20 和 XSalsa20,sgcCrypto_Poly1305 则把 Poly1305 与它们配对,组成 RFC 8439 的 AEAD 密码算法。解密会以常量时间比对认证标签,一旦校验失败就拒绝返回明文。

查看对称加密单元 →
哈希与 KDF · 11 个单元

SHA-2、SHA-3、BLAKE2,以及各种主流 KDF

sgcCrypto_SHA2sgcCrypto_Keccak 覆盖 SHA-1、SHA-2、SHA-3、SHAKE、cSHAKE 和 KMAC,旁边还有 BLAKE2b 和 BLAKE2s。要把口令变成密钥,可以用 PBKDF2、HKDF、scrypt 和 sgcCrypto_Argon2,后者实现了 Argon2 的全部三个变体 d、i 和 id。sgcCrypto_SipHash 是用于哈希表键的快速带密钥哈希,sgcCrypto_HMAC 则可基于任意摘要算法做带密钥的消息认证。

查看哈希相关单元 →
签名与密钥交换 · 10 个单元

Ed25519、X25519、secp256k1、Brainpool 和 RSA

Ed25519 和 Ed448 负责签名,X25519 和 X448 完成与之配套的 Diffie-Hellman 密钥交换,sgcCrypto_ECCurves 在七条曲线上提供 ECDSA 和 ECDH,并支持 RFC 6979 确定性随机数和 BIP-340 Schnorr 签名。sgcCrypto_RSA_Keys 可以生成任意位长的密钥,并以 PKCS#1 和 PKCS#8 两种形式导出 DER 或 PEM。

查看它能做什么 →
PKI · 5 个单元

读取、验证并生成 X.509 证书

sgcCrypto_X509 可以解析证书、验证其签发者、遍历证书链并读取 CRL。sgcCrypto_X509_Gen 可以从零生成自签名证书或 PKCS#10 CSR,包含完整的可分辨名称、有效期、CA 标志、密钥用法、扩展密钥用法和主体备用名称,并由一把 RSA 或 EC 密钥签名。

证书能力全貌 →
后量子 · 6 个单元

ML-KEM、ML-DSA、SLH-DSA 与一个混合组合器

FIPS 203 密钥封装的全部三组参数,FIPS 204 中 ML-DSA-44、65 和 87 的签名,以及 FIPS 205 全部六组 SHAKE 参数。sgcCrypto_MLKEM_Hybrid 把一个 X25519 秘密和一个 ML-KEM 秘密组合起来,因此共享密钥永远不会比其中的经典部分更弱。

查看后量子单元 →

每个家族的参考页面:

调用一个函数,拿回字节

没有对象需要构造,没有上下文需要释放,也没有句柄需要一直打开。这两段代码在 Delphi 7 到 13 以及 C++ Builder 中,在每个目标平台上的编译方式都相同。

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak;
var
  vKey, vIV, vPlain, vAAD, vTag, vCipher, vDigest: TBytes;
begin
  // AES-256-GCM:一次调用完成认证加密
  vKey    := sgcRandomBytes(32);
  vIV     := sgcRandomBytes(12);
  vPlain  := TEncoding.UTF8.GetBytes('confidential payload');
  vCipher := sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

  // SHA-3-256,一次调用,无需管理上下文对象
  vDigest := sgcSHA3_256(vPlain);

  // 解密会以常量时间校验标签,失败时安全拒绝
  vPlain  := sgcAES_GCM_Decrypt(vKey, vIV, vCipher, vAAD, vTag);
end;
uses
  sgcCrypto_Random, sgcCrypto_Ed25519, sgcCrypto_MLKEM;
var
  vSeed, vMessage, vSignature: TBytes;
  vPublicKey, vPrivateKey, vCiphertext, vSharedSecret: TBytes;
begin
  // 由一个 32 字节种子生成 Ed25519 签名
  vSeed      := sgcRandomBytes(32);
  vMessage   := TEncoding.UTF8.GetBytes('sign me');
  vSignature := sgcEd25519_Sign(vSeed, vMessage);

  // ML-KEM-768:后量子密钥封装(FIPS 203)
  sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
  sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);

  // 对端从密文中恢复出同一个共享秘密
  sgcMLKEM_Decapsulate(mlkem768, vPrivateKey, vCiphertext, vSharedSecret);
end;

在 Object Pascal 和 C++ Builder 中是同一种形态。完整功能矩阵 →

三件值得先了解的事

sgcCrypto 是什么、您是否已经拥有它,以及它能在哪里运行。三个答案都很简短,而且都写在这个页面上,而不是藏在小字条款里。

六大家族,四十三个单元
系列              单元  提供的能力
对称加密          5  AES-GCM, AES-CCM, ChaCha20-Poly1305
哈希与 KDF       11  SHA-2, SHA-3, BLAKE2, Argon2, HKDF
签名与密钥交换   10  Ed25519, X25519, ECDSA, RSA-PSS
PKI               5  X.509 parse, verify, generate, CSR
后量子            6  ML-KEM, ML-DSA, SLH-DSA, hybrid
OTP 与其他        6  HOTP/TOTP, Base32/64url, AE-2 ZIP

没有任何单元会注册组件,因此不会有任何东西出现
  在组件面板上,也不会有任何东西被放到窗体上。
  您只需把对应的单元加入 uses 子句,然后直接
  调用其中的函数即可。

您可能已经拥有 sgcCrypto

全部 43 个单元都随 sgcWebSockets Standard、Professional 和 Enterprise 以及 All-Access 一同提供,无需额外付费。只要您持有 Standard 及以上任一版本的许可证,就不必再购买任何东西。

独立版本针对的是相反的情况

只拥有 sgcWebSockets Core,或者完全没有 sgcWebSockets 许可证?独立软件包把 Core 运行时和这些密码学单元打包在一起,让您无需购买完整版本的许可证也能用上这个库。

没有平台限制

sgcVer.inc 中没有任何东西把 sgcCrypto 限制在 Windows 上。这些单元都是普通的 Object Pascal 算术运算,因此同一份源代码就能编译到 Win32、Win64、Linux64、macOS、iOS 和 Android。sgcCrypto_Random 是唯一与平台相关的单元,它在同一个 sgcRandomBytes 调用背后,为每个目标平台选择相应的 CSPRNG 后端。

Delphi 和 C++ Builder

sgcCrypto 面向 Delphi 7 到 RAD Studio 13 以及 C++ Builder。免费试用版安装程序就是 sgcWebSockets All-Access 试用版,因此今天就可以评估全部 43 个单元。

FIPS 197 与 202 RFC 8439 RFC 5280 FIPS 203/204/205 完整源代码

每个单元和每个函数 →

sgcCrypto 直接实现这些密码学原语,而不是绑定到某个您还得随程序分发并对齐版本的库,因此生成一个密钥、一个摘要或一个签名都只是一次函数调用,完整源代码意味着中间没有任何一环是黑盒。

十四个组件库,一个工具箱

sgcCrypto 是 eSeGeCe 面向 Delphi、C++ Builder 和 .NET 的十四个组件库之一。它们共享同样的约定,提供完整源代码,并可免版税部署。

sgcCrypto

43 个纯 Object Pascal 单元,涵盖 AEAD 加密、哈希与 KDF、签名、X.509 和后量子密码学。从 sgcWebSockets Standard 版本起免费包含,也可单独购买。

了解更多 →

sgcREST

面向 Delphi 和 C++ Builder 的 REST 服务器、OpenAPI 服务器和 OpenAPI 客户端组件。独立产品,随附 sgcWebSockets Core 运行时。

了解更多 →

sgcHTTP

面向 Delphi 和 C++ Builder 的 HTTP/2 客户端、gRPC 客户端以及 Google Cloud Pub/Sub、Calendar 和 FCM 客户端。独立产品,随附 sgcWebSockets Core 运行时。

了解更多 →

sgcAuth

面向 Delphi 和 C++ Builder 的 OAuth2 客户端、JWT 客户端和 WebAuthn 支持。独立产品,随附 sgcWebSockets Core 运行时。

了解更多 →

sgcWebSockets

面向 Delphi、C++ Builder、Lazarus 和 .NET 的 WebSocket、HTTP/2、MQTT、AMQP、WebRTC、AI 及 30+ API 集成。它的 Enterprise 版本也包含 gRPC。

了解更多 →

sgcMQ

面向 Delphi 和 C++ Builder 的 MQTT、AMQP 0.9.1 和 1.0、Apache Kafka 与 STOMP 客户端组件。独立产品,随附 sgcWebSockets Core 运行时。

了解更多 →

sgcSocial

面向 Delphi 和 C++ Builder 的 Telegram 和 WhatsApp Business 客户端组件。独立产品,随附 sgcWebSockets Core 运行时。

了解更多 →

sgcHTML

面向 Delphi、C++ Builder 和 .NET 的服务器端 HTML 和界面组件,基于 Bootstrap 5 和 htmx。

了解更多 →

sgcQUIC

原始 QUIC 传输,以及 HTTP/3 客户端和服务器,并支持 WebTransport。作为 sgcWebSockets Enterprise 的附加组件。

了解更多 →

sgcAI

面向 Delphi 和 C++ Builder 的 AI、LLM 和 MCP 组件。一个组件即可对接七家 LLM 提供商,另有 MCP、嵌入和语音。独立产品,随附 sgcWebSockets Core 运行时。

了解更多 →

sgcOpenAPI

OpenAPI 3.x 解析器、原生 Pascal SDK 生成器、OpenAPI 服务器组件,以及 1,195+ 预构建云 SDK。

了解更多 →

sgcSign

文档使用 XAdES、PAdES、CAdES 和 ASiC,代码使用 Authenticode、ClickOnce、NuGet 和 VSIX。

了解更多 →

sgcBiometrics

面向 Delphi 和 C++ Builder 的 Windows Hello、指纹传感器和 Windows 生物特征框架。

了解更多 →

sgcIndy

更新后的 Indy TCP/IP 组件,为 Delphi 7 到 13 提供现代 TLS、IPv6 和 HTTP/2。

了解更多 →

查看价格和许可证 下载免费试用版

开发者怎么说

受到全球各地 Delphi、C++ Builder、Lazarus 和 .NET 开发者的信赖。

你们的 sgcWebSockets 库非常实用,而且易于设置。请继续保持!

Simone Moretti Delphi 开发者

sgcWebSockets 非常出色,你们的支持也是最棒的!

Christian Meyer 创始人兼首席技术官

非常感谢你们的帮助和支持,我很喜欢你们的组件。

Mark Steinfeld 首席技术官

博客最新动态

查看全部文章 →

您正在浏览 eSeGeCe 的密码学视角。

换个角度看看 →
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策

字节进,字节出,全是原生代码

43 个单元涵盖 AEAD 加密、哈希、签名、X.509 和后量子密码学,开箱即含完整源代码。