RSA加密算法支持库
创建RSA加密容器,不建议指定参数,
分配加解密需要用到的 buffer。
分配加解密需要用到的 buffer。
如果不手动分配,程序将会自动按需分配 buffer。
参数 @2 可选,可用对象的blockSize属性指定默认块大小。
加密填充的块大小
所有参数可选,
哈希算法默认为_CALG_SHA1
使用当前密钥创建哈希
创建MD2算法哈希对象
可选使用一个字符串参数指定哈希数据
创建MD4算法哈希对象
可选使用一个字符串参数指定哈希数据
创建MD5算法哈希对象
可选使用一个字符串参数指定哈希数据
创建Sha1算法哈希对象
可选使用一个字符串参数指定哈希数据
创建 Sha256 算法哈希对象,
可选使用一个字符串参数指定哈希数据
创建 Sha384 算法哈希对象,
可选使用一个字符串参数指定哈希数据
创建 Sha512 算法哈希对象,
可选使用一个字符串参数指定哈希数据
解码对象,
参数@1为buffer或字符串,返回值为buffer类型,
用法参考 crypt.rsa中相关函数
RSA解密。解密模式为 RSA/ECB/PKCS1Padding。
与其他解密结果字节序相反的编程语言互通可改用 decryptReverse 函数。
参数 @1 指定字符串或 buffer。
除第一个参数以外,其他参数都是可选参数。
分块解密时,参数 @2 必须为 flase 且参数 @1 的长度必须是块大小的倍数。
成功返回解密文本,失败返回空,
可使用..lasterr()函数获取错误信息
参数 @1 指定 buffer 或字符串。
如果参数 @2 指定的数值小于缓冲区据总长度,解密结束。
可使用 -1 表示解密结束,且输入数据大小等于缓冲区大小。
其他参数可忽略不用管。
成功返回存放解密结果的字符串,返回值 2 为返回字符串的长度。
失败返回 null, 错误信息,错误代码。
解密文件
解密文件
参数 @1 指定要解密的文件路径。
参数 @2 指定要保存解密结果的文件路径。
可选用参数 @3 指定分块加密的字节长度,默认为 1MB。
指定字节长度时会自动调整到对齐块大小,参数不需要考虑对齐。
其他参数一般不必指定。
参数 @1 指定要解密的文件。参数 @2 指定要保存解密结果的文件。
文件参数都可以指定文件路径、文件对象(兼容 io.file,fsys.file,fsys.stream)。
可选用参数 @3 指定分块加密的字节长度,默认为 1MB。
指定字节长度时会自动调整到对齐块大小,参数不需要考虑对齐。
可选指定进度回调函数,回调参数 @1,@2 分别为输入文件总长度、已读取长度。
其他调用参数(哈希对象,选项)一般不必指定。
函数执行成功返回 true,失败返回 null,错误信息。
RSA 解密。
填充模式为 PKCS#1 OAEP,其他与 decrypt 函数相同。
除第一个参数以外,其他参数都是可选参数
成功返回解密文本,失败返回空,
可使用..lasterr()函数获取错误信息
RSA 解密,反转字节序。
填充模式为 PKCS#1 OAEP,其他与 decryptReverse 函数相同。
成功返回解密文本,失败返回空,
可使用..lasterr()函数获取错误信息
RSA解密,反转字节序,
解密模式为 RSA/ECB/PKCS1Padding
选项为可选参数
成功返回解密文本,失败返回空,
可使用..lasterr()函数获取错误信息
RSA解密,并返回字符串数组,
解密模式为 RSA/ECB/PKCS1Padding
与C#、Java等互通建议改用decryptReverse
除第一个参数以外,其他参数都是可选参数
成功返回解密文本,失败返回空,
可使用..lasterr()函数获取错误信息
获取并复制当前使用的密钥,
该密钥必须调用 destroy 成员函数手动销毁
编码对象,
参数@1为buffer或字符串,返回值为buffer类型,
用法参考 crypt.rsa中相关函数
加密数据
RSA加密
加密模式为 RSA/ECB/PKCS1Padding
与与其他有k密结果字节序相反的编程语言互通可改用 encryptReverse 函数。
参数 @1 指定字符串或 buffer。
除第一个参数以外,其他参数都是可选参数。
分块加密时,参数 @2 必须为 flase 且参数 @1 的长度必须是块大小的倍数。
成功返回加密文本,失败返回空,
可使用..lasterr()函数获取错误信息
参数 @1 指定 buffer 或字符串。
如果参数 @2 指定的数值小于缓冲区据总长度,加密结束。
可使用 -1 表示解密结束,且输入数据大小等于缓冲区大小。
其他参数可忽略不用管。
成功返回存放加密结果的字符串,返回值 2 为返回字符串的长度。
失败返回 null, 错误信息,错误代码。
加密文件
加密文件
参数 @1 指定要加密的文件路径。
参数 @2 指定要保存加密结果的文件路径。
可选用参数 @3 指定分块加密的字节长度,默认为 1MB。
指定字节长度时会自动调整到对齐块大小,参数不需要考虑对齐
其他参数一般不必指定。
参数 @1 指定要加密的文件。参数 @2 指定要保存加密结果的文件。
文件参数都可以指定文件路径、文件对象(兼容 io.file,fsys.file,fsys.stream)。
可选用参数 @3 指定分块加密的字节长度,默认为 1MB。
指定字节长度时会自动调整到对齐块大小,参数不需要考虑对齐。
可选指定进度回调函数,回调参数 @1,@2 分别为输入文件总长度、已读取长度。
其他调用参数(哈希对象,选项)一般不必指定。
函数执行成功返回 true,失败返回 null,错误信息。
RSA 加密。
填充模式为 PKCS#1 OAEP,其他与 encrypt 函数相同。
除第一个参数以外,其他参数都是可选参数
成功返回加密文本,失败返回空,
可使用..lasterr()函数获取错误信息
RSA加密,反转字节序。
填充模式为 PKCS#1 OAEP,其他与 encryptReverse 函数相同。
成功返回加密文本,失败返回空,
可使用..lasterr()函数获取错误信息
RSA加密,反转字节序,
加密模式为 RSA/ECB/PKCS1Padding
选项为可选可选参数
成功返回加密文本,失败返回空,
可使用..lasterr()函数获取错误信息
RSA加密,并返回字符串数组,
加密模式为 RSA/ECB/PKCS1Padding
与C#、Java等互通建议改用encryptReverse
除第一个参数以外,其他参数都是可选参数
成功返回加密文本,失败返回空,
可使用..lasterr()函数获取错误信息
导出密钥,除参数一以外其他参数可选
参数1为密钥类型,参数三为导出密钥可为空
导出PKCS#8格式私钥,返回值为buffer类型,
用法参考 crypt.rsa中相关函数
导出文本密钥,参数可选
导出私钥,参数可选
导出 PKCS#1 格式私钥,
返回值为buffer类型
导出 PKCS#1 格式私钥(PEM),
返回值为string类型
导出通用的 PKCS#8 格式私钥,
可选用参数@1指定密钥类型为 _AT_SIGNATURE 或 _AT_KEYEXCHANGE,
建议不指定参数自动获取默认设置
导出通用的 PKCS#8 格式私钥(PEM),
可选用参数@1指定密钥类型为 _AT_SIGNATURE 或 _AT_KEYEXCHANGE,
建议不指定参数自动获取默认设置
导出公钥,参数可选
导出公钥信息(CERT_PUBLIC_KEY_INFO),返回值为buffer类型,
用法参考 crypt.rsa中相关函数
导出 PKCS#1 格式公钥,
返回值为buffer类型
导出 PKCS#1 格式公钥(PEM),
返回值为string类型
导出通用的 SPKI(Subject Public Key Info)格式公钥,
可选用参数@1指定密钥类型为 _AT_SIGNATURE 或 _AT_KEYEXCHANGE,
建议不指定参数自动获取默认设置,
返回值为buffer类型
导出通用的 SPKI(Subject Public Key Info)格式公钥(PEM),
可选用参数@1指定密钥类型为 _AT_SIGNATURE 或 _AT_KEYEXCHANGE,
建议不指定参数自动获取默认设置,
返回值为string类型
产生一个随机的会话密钥或者公/私钥对,
所有参数可选,algid指定算法,flags指定选项,size指定密钥长度
创建用于签名算法的公/私钥对,
@size 指定密钥长度,以二进制位为单位,省略此参数则默认为 2048,
@flags 指定选项,一般不必指定
返回当前密钥算法 ID
获取密钥块长度
获取密钥参数
数据值应当指定一个结构体
不指定数据值则自动分配buffer对象存储返回值
失败返回null
获取数值类型密钥参数
返回当前密钥类型,
返回值为 _AT_SIGNATURE 或 _AT_KEYEXCHANGE
获取密钥,并设置为默认密钥
参数指定密钥类型,例如 _AT_SIGNATURE
成功返回true
检测是否已设置密钥
计算哈希值,
除第一个参数以外,其他参数可选
默认使用MD5算法
计算哈希值,
除第一个参数以外,其他参数可选
默认使用MD5算法
导入密钥,
密钥可以是结构体或字符串格式,
参数2可选,参数3可选
成功返回true,失败返回null,错误信息
参数 @1 使用字符串指定 PEM 格式密钥。
如果导入成功返回 PEM 格式头
参数 @1 使用字符串指定 PEM 格式密钥文件。
如果导入成功返回 PEM 格式头
导入私钥信息(CRYPT_PRIVATE_KEY_INFO),参数@1为buffer或字符串,
用法参考 crypt.rsa中相关函数,
成功返回true
导入 PKCS#1 格式私钥,
参数@1为string或buffer类型私钥
导入 PKCS#1 格式私钥(PEM),
参数@1为string或buffer类型私钥
导入通用的 PKCS#8 格式私钥,
参数@1为string或buffer类型私钥
导入通用的 PKCS#8 格式私钥(PEM),
参数@1为string或buffer类型私钥
导入公钥信息(CERT_PUBLIC_KEY_INFO),参数@1为buffer或字符串,
用法参考 crypt.rsa中相关函数,
成功返回true
导入 PKCS#1 格式公钥,
参数@1为string或buffer类型私钥
导入 PKCS#1 格式公钥(PEM),
参数@1为string或buffer类型私钥
导入通用的 SPKI(Subject Public Key Info)格式公钥,
参数@1为string或buffer类型公钥数据
导入通用的 SPKI(Subject Public Key Info)格式公钥(PEM),
参数@1为string或buffer类型公钥数据
最后一次调用createHashXXX() 系列函数创建的哈希对象
释放密码服务对象(CSP)
此函数可在对象析构时自动调用
设置初始化向量,成功返回true,
参数2可选
设置新的默认密钥句柄,
该密钥将由密钥容器管理,不需要释放该密钥
参数为null则删除密钥
设置加密参数
数据值可以是结构体,字符串,或 buffer 对象,
如果数据值一个数值参数,则转换为表示32位整型数值地址的结构体指针
成功返回true,失败请使用 ..lasterr()获取错误信息
设置加密模式
成功返回true,失败请使用 ..lasterr()获取错误信息
设置加密填充方式
成功返回true,失败请使用 ..lasterr()获取错误信息
设置会话密钥
成功返回密码容器对象,失败返回null
返回签名
可选用 @keySpec 参数中指定密钥类型,
@flags 不必指定
签名并反转字节序,进行 Base64 编码后返回,
可选用 @keySpec 参数中指定密钥类型,
@flags 参数不必指定
验证签名,
参数@signBase64 为 Base64编码并反转字节序的签名,
@flags 参数不必指定,
验证签名以前必须首先导入公钥,并创建哈希对象
验证签名,
参数@1为签名字符串,其他参数可选
验证签名以前必须首先导入公钥,并创建哈希