一个可以将变量加密/解密的Demo

受到@Coolp#51865在@空气君#51932的作品朝圣之旅中的存档功能启发

简要说明

花了一个下午研究了一个非线性的加密/解密系统,可以将在[0,9999]的数字加密为和原始数据看上去毫无关联的数字

开发者需要自己指定一个四位数的密钥,使用不同的密钥加密的数据将获得不一样的结果

在该Demo中,使用的密钥为1888,加密的数据为100,加密结果为4928,解密的结果为100

加密/解密结果

密钥原始数据加密结果解密结果
18881004928100
18881018494101
18881023849102
18881103028110
18881208382120
18882008920200

变量及过程说明

子程序

  • Encrypt: 加密Player.VarToProcess[0]中的数据到Player.VarResult

  • Decrypt: 解密Player.VarToProcess[0]中的数据到Player.VarResult

全局

  • Key: 开发者指定的密钥,应为四位数的数字

  • CaesarTable: 根据密钥生成的随机凯撒密码表

  • Iterator: 仅在初始化阶段生效的临时迭代用的变量

玩家

  • VarToProcess: 数组,加解密过程中用到的数据,你应在调用加密/解密的子过程前将相应的数据放入该数组的第一个元素中

  • VarTemp: 加密/解密子过程中用到的临时变量

  • VarResult: 加密解密的结果

  • Var1: Demo中需要加密的数据

  • Var2: Demo中Var1加密的结果

  • Var3: Demo中Var2解密的结果

评论
这里空空如也~
这里空空如也~