本文介绍: – 请在电脑生成私钥公钥, 当前最高支持4096bit, 一般来说2048bit就够用了– privkey.pem私钥, public.pem公钥私钥用于 加密签名, 通常保密, 放在服务器端公钥用于 解密 和 验签, 一般可公开,放在设备端– 为了演示API使用, 这里私钥也放在设备上– 打印结果— 下面是解密, 通常不会在设备端进行, 这里主要是演示用法, 会很慢读取私钥, 然后解码数据end演示签名和验签。

示例

rsa.encrypt(key, data)

RSA加密

参数

传入值类型

解释

string

公钥数据,仅支持PEM格式

string

加密数据, 不能超过公钥位数的一半, 例如 2048bit的公钥, 只能加密128字节数据

返回值

返回值类型

解释

string

加密成功后的数据,若失败返回nil

例子


rsa.decrypt(key, data, pwd)

RSA解密

参数

传入值类型

解释

string

私钥数据,仅支持PEM格式

string

待解密数据

string

私钥的密码,可选

返回值

返回值类型

解释

string

解密成功后的数据,若失败返回nil

例子


rsa.verify(key, md, hash, sig)

RSA验签

参数

传入值类型

解释

string

公钥数据,仅支持PEM格式

int

签名模式, 例如 rsa.MD_SHA1 , rsa.MD_SHA256

string

hash数据, 如果是HEX字符串,记得fromHex转二进制数据

string

sig数据, 如果是HEX字符串,记得fromHex转二进制数据

返回

返回值类型

解释

bool

有效返回true,否则为false,出错返回nil

例子


rsa.sign(key, md, hash, pwd)

RSA签名

参数

传入值类型

解释

string

私钥数据,仅支持PEM格式

int

签名模式, 例如 rsa.MD_SHA1 , rsa.MD_SHA256

string

hash数据, 如果是HEX字符串,记得fromHex转二进制数据

string

私钥密码, 可选

返回值

返回值类型

解释

string

成功返回sig数据, 否则返回nil

例子

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注