# Object - TCipher 对称加密

## `TCipher`

声明：class

提供对称加密和解密能力的内置对象

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

### `create(mode)`

声明：function

构造函数。按 mode 选择加密算法并创建 TCipher 实例

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

可见性：public

| 参数   | 类型    | 说明                   |
| ------ | ------- | ---------------------- |
| `mode` | integer | 加密算法编号，取值见下 |

#### `mode` 取值

- `1` — DES_ECB（密钥长度（字节）8，IV长度（字节）0）
- `2` — DEC_CBC（密钥长度（字节）8，IV长度（字节）8）
- `3` — DES_CFB（密钥长度（字节）8，IV长度（字节）8）
- `4` — DES_OFB（密钥长度（字节）8，IV长度（字节）8）
- `5` — IDEA_ECB（密钥长度（字节）16，IV长度（字节）0）
- `6` — IDEA_CBC（密钥长度（字节）16，IV长度（字节）8）
- `7` — IDEA_CFB（密钥长度（字节）16，IV长度（字节）8）
- `8` — IDEA_OFB（密钥长度（字节）16，IV长度（字节）8）
- `9` — AES_128_ECB（密钥长度（字节）16，IV长度（字节）0）
- `10` — AES_128_CBC（密钥长度（字节）16，IV长度（字节）16）
- `11` — AES_128_CFB（密钥长度（字节）16，IV长度（字节）16）
- `12` — AES_128_OFB（密钥长度（字节）16，IV长度（字节）16）
- `13` — AES_192_ECB（密钥长度（字节）24，IV长度（字节）0）
- `14` — AES_192_CBC（密钥长度（字节）24，IV长度（字节）16）
- `15` — AES_192_CFB（密钥长度（字节）24，IV长度（字节）16）
- `16` — AES_192_OFB（密钥长度（字节）24，IV长度（字节）16）
- `17` — AES_256_ECB（密钥长度（字节）32，IV长度（字节）0）
- `18` — AES_256_CBC（密钥长度（字节）32，IV长度（字节）16）
- `19` — AES_256_CFB（密钥长度（字节）32，IV长度（字节）16）
- `20` — AES_256_OFB（密钥长度（字节）32，IV长度（字节）16）

### `decrypt(s)`

声明：function

字符串s的内容解密，返回解密后的字符串

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

可见性：public

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

返回：string

### `decryptFile(src_alias, src_filename, dest_alias, dest_filename)`

声明：function

对文件src_filename进行解密，加密后的内容写入dest_filename文件中

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

可见性：public

| 参数            | 类型 | 说明          |
| --------------- | ---- | ------------- |
| `src_alias`     | any  | src_alias     |
| `src_filename`  | any  | src_filename  |
| `dest_alias`    | any  | dest_alias    |
| `dest_filename` | any  | dest_filename |

返回：any

### `encrypt(s)`

声明：function

对字符串s的内容加密，返回加密后的字符串

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

可见性：public

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

返回：string

### `encryptFile(src_alias, src_filename, dest_alias, dest_filename)`

声明：function

对文件src_filename进行加密，加密后的内容写入dest_filename文件中

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

可见性：public

| 参数            | 类型 | 说明          |
| --------------- | ---- | ------------- |
| `src_alias`     | any  | src_alias     |
| `src_filename`  | any  | src_filename  |
| `dest_alias`    | any  | dest_alias    |
| `dest_filename` | any  | dest_filename |

返回：any

### `IV`

声明：property

初始化向量，hex字符串

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

可见性：public

类型：string

访问：write

### `Key`

声明：property

秘钥，hex字符串

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

可见性：public

类型：string

访问：write

### `KeyLength`

声明：property

获取密钥长度

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

可见性：public

类型：integer

访问：read

### `LVLength`

声明：property

获取初始化向量长度

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

可见性：public

类型：any

访问：read

### `Mode`

声明：property

设置算法类型

<!-- tags: Object TCipher 对称加密 设置 修改 对象 实例 -->

可见性：public

类型：integer

访问：write

### `Password`

声明：property

设置密码

<!-- tags: Object TCipher 对称加密 设置 修改 对象 实例 -->

可见性：public

类型：string

访问：write
