semvec/pypi-packages huggingface dataset:
corecipher 0.1.0
加解密工具基础包。提供AES/RSA等加解密方式。
License: Apache License, Version 2.0
Keywords: cipher, corecipher, gcm aes cipher, ctr aes cipher, ecb aes cipher, aes cipher, rsa+aes cipher, rsa cipher

# corecipher

加解密工具基础包。提供AES/RSA等加解密方式。

## 安装

```shell
pip install corecipher
```
## 加密过程

1. 使用`data_encoder`（内容编解码器）对原始数据进行编码，得到`bytes`类型的原始数据。
    - 默认使用`Utf8DataEncoder`编解码器。
    - 要求原始数据为可以utf8编码的字符串类型。
2. 对`bytes`类型的原始数据进行加密，得到`bytes`类型的加密结果。
3. 对`bytes`类型的加密结果，使用`result_encoder`（结果编解码器）进行编码，得到最终的结果。
    - 默认使用`Base64ResultEncoder`编解码器。
    - 最终结果一般为`str`类型。

## 解密过程

1. 使用`result_encoder`进行解码。
2. 进行解密操作。
3. 使用`data_encoder`进行解码。

## 支持的内容编解码器

- RawDataEncoder
- Utf8DataEncoder
- Gb18030DataEncoder
- JsonEncoder
- PickleEncoder
- MarshalEncoder
- MsgPackEncoder

## 支持的结果编解码器

- RawResultEncoder
- Utf8ResultEncoder
- Base64ResultEncoder
- URLSafeBase64ResultEncoder
- HexlifyResultEncoder

## 支持的加解密方式

### AES加解密

- GCMAESCipher
- CTRAESCipher
- ECBAESCipher
- MysqlCompatibleAESCipher

### RSA加解密

- RSACipher

### RSA+AES加解密

- RESCipher

### 密码表加解密

- M1Cipher
- M2Cipher
- M12Cipher
- S1Cipher
- S12Cipher
- IvCipher
- IvfCipher

## 使用方法

### AES GCM模式加解密

```python
import corecipher
gen = corecipher.GCMAESCipher(password="hello")
data1 = "hello"
data2 = gen.encrypt(data1)
data3 = gen.decrypt(data2)
assert data1 == data3
```

### AES CTR模式加解密

```python
import corecipher
gen = corecipher.CTRAESCipher(password="hello")
data1 = "hello"
data2 = gen.encrypt(data1)
data3 = gen.decrypt(data2)
assert data1 == data3
```

### AES ECB模式加解密

```python
import corecipher
gen = corecipher.ECBAESCipher(password="hello")
data1 = "hello"
data2 = gen.encrypt(data1)
data3 = gen.decrypt(data2)
assert data1 == data3
```

## 版本记录

### v0.1.0

- 版本首发。
- 添加RSA/AES加解密支持。