# Object - TRSA 非对称加密

## `TRSA`

声明：class

提供 RSA 非对称加密、解密和签名能力的内置对象

<!-- tags: Object TRSA 非对称加密 对象 实例 RSA 创建 生成 构造函数 实例化 new -->

### `create()`

声明：function

无参数构造函数。创建 TRSA 实例

<!-- tags: Object TRSA 非对称加密 创建 生成 对象 实例 -->

可见性：public

### `priDecrypt(s)`

声明：function

对字符串s的内容用私钥解密

<!-- tags: Object TRSA 非对称加密 对象 实例 -->

可见性：public

| 参数 | 类型 | 说明 |
| ---- | ---- | ---- |
| `s`  | any  | s    |

返回：string

### `priEncrypt(s)`

声明：function

对字符串s的内容用私钥加密

<!-- tags: Object TRSA 非对称加密 对象 实例 -->

可见性：public

| 参数 | 类型 | 说明 |
| ---- | ---- | ---- |
| `s`  | any  | s    |

返回：string

### `pubDecrypt(s)`

声明：function

对字符串s的内容用公钥解密

<!-- tags: Object TRSA 非对称加密 对象 实例 -->

可见性：public

| 参数 | 类型 | 说明 |
| ---- | ---- | ---- |
| `s`  | any  | s    |

返回：string

### `pubEncrypt(s)`

声明：function

对字符串s的内容用公钥加密

<!-- tags: Object TRSA 非对称加密 对象 实例 -->

可见性：public

| 参数 | 类型 | 说明 |
| ---- | ---- | ---- |
| `s`  | any  | s    |

返回：string

### `generateKey(bits)`

声明：function

生成指定位数的公钥和私钥，位数必须是256的正整数倍，最大4096

<!-- tags: Object TRSA 非对称加密 对象 实例 -->

可见性：public

| 参数   | 类型    | 说明                                         |
| ------ | ------- | -------------------------------------------- |
| `bits` | integer | 密钥位数，必须是 256 的正整数倍且不超过 4096 |

#### 示例

范例01：生成 1024 位密钥

```tsl
obj := new TRSA();
obj.generateKey(1024);
return length(obj.publicKey) > 0;
// 输出：1
```

### `PrivateKey`

声明：property

获取或设置私钥

<!-- tags: Object TRSA 非对称加密 获取 查询 对象 实例 -->

可见性：public

类型：string

访问：read/write

### `PublicKey`

声明：property

获取或设置公钥

<!-- tags: Object TRSA 非对称加密 获取 查询 对象 实例 -->

可见性：public

类型：string

访问：read/write
