.子程序 加密, 字节集
.参数 被加密数据包, 字节集
.局部变量 数据段数, 整数型
.局部变量 加密数据, 字节集
.局部变量 变量数据, 整数型
.局部变量 临时字节1, 字节型
.局部变量 临时字节2, 字节型
.局部变量 临时字节3, 字节型
.局部变量 加密数据长度, 整数型
.局部变量 被加密数据长度, 整数型
被加密数据长度 = 取字节集长度 (被加密数据包)
数据段数 = (被加密数据长度 + 2) \ 3
被加密数据包 = 被加密数据包 + { 0, 0 }
加密数据长度 = 数据段数 × 4
加密数据 = 取空白字节集 (加密数据长度)
.计次循环首 (数据段数, 变量数据)
临时字节1 = 被加密数据包 [变量数据 × 3 - 2]
临时字节2 = 被加密数据包 [变量数据 × 3 - 1]
临时字节3 = 被加密数据包 [变量数据 × 3]
加密数据 [变量数据 × 4 - 3] = 位与 (临时字节1, 252) \ 4 + 60
加密数据 [变量数据 × 4 - 2] = 位或 (位与 (临时字节1, 3) × 16, 位与 (临时字节2, 240) \ 16) + 60
加密数据 [变量数据 × 4 - 1] = 位或 (位与 (临时字节2, 15) × 4, 位与 (临时字节3, 192) \ 64) + 60
加密数据 [变量数据 × 4] = 位与 (临时字节3, 63) + 60
.计次循环尾 ()
.如果真 (数据段数 × 3 > 被加密数据长度)
返回 (取字节集左边 (加密数据, 加密数据长度 - 数据段数 × 3 + 被加密数据长度))
.如果真结束
返回 (加密数据)