排列方法
排列方法是一种加密方法,其中源文本的字符根据预定义的规则进行交换。 关键元素是排列顺序,它决定了字符将如何移动。 排列方法不会改变字符本身。 只有它们在文本中的位置发生变化。 这种方法经常与其他加密方法结合使用,以增强传输数据的安全性。
在我们的示例中,我们将考虑一个简单的排列选项,该选项将整个消息按预先指定的字符数移位。
In [ ]:
# Функция для кодирования и декодирования методом перестановки
function transform_message(message::String, key::Int, mode::String)
transformed_message = ""
for i in 1:length(message)
if mode == "encode"
new_index = mod(i + key - 1, length(message)) + 1 # Перемещаем символ на key позиций вперед
elseif mode == "decode"
new_index = mod(i - key - 1, length(message)) + 1 # Перемещаем символ на key позиций влево
else
error("Допустимые значения: :encode, :decode")
end
transformed_message *= message[new_index]
end
return transformed_message
end
Out[0]:
让我们执行功能的运行状况检查。
In [ ]:
message = "Engee";
key = 6;
key = 6 % length(message)
println("Приведём ключ к длине строки, отбросив целые длины строк: $(key)")
println()
encoded = transform_message(message, key, "encode")
decoded = transform_message(encoded, key, "decode")
println("Исходное сообщение: ", message)
println("Закодированное сообщение: ", encoded)
println("Декодированное сообщение: ", decoded)
结论
正如我们所看到的,根据我们演示中该模型的结果,输入和输出词重合,这表明该功能正常工作。