变量名 | 类 型 | 静态 | 数组 | 备 注 |
m | 字节型 | | 256 |
i | 整数型 | | |
j | 整数型 | | |
key | 字节集 | | |
密码长度 | 整数型 | | |
原文长度 | 整数型 | | |
结果 | 字节集 | | |
x | 整数型 | | |
k | 字节型 | | 256 |
temp | 字节型 | | |
原文长度 =
取字节集长度 (原文
)
如果真 (原文长度 < 1
)
返回 ({ })密码长度 = 取文本长度 (密码)结果 =
取空白字节集 (原文长度
)
计次循环首 (256, i
)
m
[i
] = i - 1
计次循环尾 ()
如果真 (密码长度 > 0
)
key =
到字节集 (密码
)
j = 1

计次循环首 (256, i
)

k
[i
] = key
[j
]

j = j + 1


如果真 (j > 密码长度
)


j = 1




计次循环尾 ()
j = 0

计次循环首 (256, i
)

j =
位与 (j + m
[i
] + k
[i
], 255
)

temp = m
[i
]

m
[i
] = m
[j + 1
]

m
[j + 1
] = temp

计次循环尾 ()i = 0j = 0
计次循环首 (原文长度, x
)
i =
位与 (i + 1, 255
)
j =
位与 (j + m
[i + 1
], 255
)
temp = m
[i + 1
]
m
[i + 1
] = m
[j + 1
]
m
[j + 1
] = temp

结果
[x
] =
位异或 (原文
[x
], m
[位与 (m
[i + 1
] + m
[j + 1
], 255
) + 1
])
计次循环尾 ()返回 (结果
)