# iksk
基于Python的高级加密算法

# 快速入门
| 参数 | 解释 | 调用方法 |
| ----------- | ----------- | ----------- |
| decrypt | 解密 | decrypt(value=加密字符串, salt=盐值 , mode=[参数设置], sn=相似度 `如有`) |
| encrypt | 加密 | decrypt(value=字符串, salt=盐值 , mode=[参数设置]) |

> 模式设置

`value`: 字符串<br/>
`salt`: 盐值<br/>
`mode`: [a,b,c,d,e]<br/>
> `a,b,c,d,e` 仅供方便理解，非调用所需

- `a`: 颠倒单数还是双数? 0=双数 1=双数
- `b`: 加密颠倒单数还是双数? 0=双数 1=双数
- `c`: 字符串交换间隔 (最小: 1),实际结果*2
- `d`: 设置字母偏移 (偏移量不建议太大,适量数字大小即可)
- `e`: 如您需要时使用相似度算法,请设置1,如不需要,请设置0

> 提示: 使用相似度算法后,会返回两条数据: `[结果,相似度]`,解密时请带上相似度

# 原理解释
1. 计算初始相似度 (salt+value+salt模式) [无论是否开启相似度]
2. 颠倒字符串
3. 字符串字母偏移
4. 块级加密字符串
5. 加密颠倒字符串
6. 自定义交换字符串
7. 块级加密字符串
8. 执行相似度计算 [如启用]
9. 返回结果
