一个可以将变量加密/解密的Demo
受到@Coolp#51865在@空气君#51932的作品朝圣之旅中的存档功能启发
简要说明
花了一个下午研究了一个非线性的加密/解密系统,可以将在[0,9999]的数字加密为和原始数据看上去毫无关联的数字
开发者需要自己指定一个四位数的密钥,使用不同的密钥加密的数据将获得不一样的结果
在该Demo中,使用的密钥为1888,加密的数据为100,加密结果为4928,解密的结果为100
加密/解密结果
| 密钥 | 原始数据 | 加密结果 | 解密结果 |
|---|---|---|---|
| 1888 | 100 | 4928 | 100 |
| 1888 | 101 | 8494 | 101 |
| 1888 | 102 | 3849 | 102 |
| 1888 | 110 | 3028 | 110 |
| 1888 | 120 | 8382 | 120 |
| 1888 | 200 | 8920 | 200 |
变量及过程说明
子程序
Encrypt: 加密
Player.VarToProcess[0]中的数据到Player.VarResultDecrypt: 解密
Player.VarToProcess[0]中的数据到Player.VarResult
全局
Key: 开发者指定的密钥,应为四位数的数字
CaesarTable: 根据密钥生成的随机凯撒密码表
Iterator: 仅在初始化阶段生效的临时迭代用的变量
玩家
VarToProcess: 数组,加解密过程中用到的数据,你应在调用加密/解密的子过程前将相应的数据放入该数组的第一个元素中
VarTemp: 加密/解密子过程中用到的临时变量
VarResult: 加密解密的结果
Var1: Demo中需要加密的数据
Var2: Demo中Var1加密的结果
Var3: Demo中Var2解密的结果
评论
这里空空如也~