gmkitx API - v0.10.1
    正在准备搜索索引...

    变量 sm2Decrypt常量

    sm2Decrypt: (
        privateKey: BytesLike,
        encryptedData: BytesLike,
        options?: SM2DecryptOptions,
    ) => string = sm2Functions.decrypt

    使用 SM2 私钥解密为 UTF-8 文本;二进制明文应使用 sm2DecryptBytes

    类型声明

      • (
            privateKey: BytesLike,
            encryptedData: BytesLike,
            options?: SM2DecryptOptions,
        ): string
      • 使用 SM2 解密数据

        支持自动识别密文格式:

        • 0x30 开头:ASN.1 格式
        • 0x04 开头:C1 为非压缩点格式(04 + x + y),默认 C1C3C2 模式
        • 0x02/0x03 开头:C1 为压缩点格式(02/03 + x),默认 C1C3C2 模式

        注意:

        1. 虽然可以穷举、尝试所有可能的密文格式,但这会影响解密性能。
        2. 在与其他系统集成时,建议明确约定密文格式,做到知己知彼。
        3. 本实现通过首字节自动检测格式(基于首字节只有固定几种可能的假设):
          • 0x30:ASN.1 格式
          • 0x04:C1 为非压缩点格式,具体是 C1C3C2 还是 C1C2C3 取决于解密时的选项参数,默认为 C1C3C2
          • 0x02/0x03:C1 为压缩点格式,具体是 C1C3C2 还是 C1C2C3 取决于解密时的选项参数,默认为 C1C3C2

        参数

        • privateKey: BytesLike

          私钥(十六进制字符串)

        • encryptedData: BytesLike

          加密的数据(十六进制/Base64 字符串或 Uint8Array)

        • 可选options: SM2DecryptOptions

          输入编码和密文排列;省略时自动识别编码并默认使用 C1C3C2

        返回 string

        解密后的数据(UTF-8 字符串)

        私钥、密文编码、椭圆曲线点或 C3 完整性校验无效时抛出错误