Encryption 凯撒密码:如何加密删除信息的字符?

Encryption 凯撒密码:如何加密删除信息的字符?,encryption,Encryption,我有一个问题,要求使用修改版的凯撒密码对消息进行加密。问题是我需要使用扩展ASCII库的所有256个字符。这一部分相当简单 但是,当我运行加密时,消息的长度发生了变化。在跟踪问题之后,似乎如果使用特定的移位,一些字符将转换为ASCII 127,这是要删除的字符。因此,它会删除前一个字符,而不是在消息中追加字符 在保持密码完整性的同时,对如何绕过此问题有何建议 如果有帮助,我可以用Python和VBA编写解决方案。这不是一个真正的加密问题,但还是让我来回答 我认为您正在混合应用程序的不同层。如果您

我有一个问题,要求使用修改版的凯撒密码对消息进行加密。问题是我需要使用扩展ASCII库的所有256个字符。这一部分相当简单

但是,当我运行加密时,消息的长度发生了变化。在跟踪问题之后,似乎如果使用特定的移位,一些字符将转换为ASCII 127,这是要删除的字符。因此,它会删除前一个字符,而不是在消息中追加字符

在保持密码完整性的同时,对如何绕过此问题有何建议


如果有帮助,我可以用Python和VBA编写解决方案。

这不是一个真正的加密问题,但还是让我来回答


我认为您正在混合应用程序的不同层。如果您得到的ASCII字符删除了其他字符,或者更可能是许多不可打印字符中的一个,那么您仍然可以将该代码点保留在加密字符串中。在终端中解码为ASCII后,尝试打印加密字符串不是一个好主意。只需使用十六进制表示,您就可以了。

这不是一个真正的密码问题,但还是让我来回答


我认为您正在混合应用程序的不同层。如果您得到的ASCII字符删除了其他字符,或者更可能是许多不可打印字符中的一个,那么您仍然可以将该代码点保留在加密字符串中。在终端中解码为ASCII后,尝试打印加密字符串不是一个好主意。只需使用十六进制表示,就可以了。

将整个内容保留在字节中,从明文到密文,然后在结尾处进行编码-十六进制/B64警告,没有定义为扩展ASCII的单数内容。像Windows-1252这样的方案至少可以定义所有代码,但仅此而已。当然,您可以轻松地制作一个扩展ASCII字母表,排除所有控制字符,以及0x7F等,并使用该字母表执行移位…将整个内容保留在字节中,从明文到密文,然后在末尾进行编码-hex/b64警告没有定义为扩展ASCII的单数项。像Windows-1252这样的方案至少可以定义所有代码,但仅此而已。当然,您可以轻松制作一个扩展ASCII字母表,排除所有控制字符,以及0x7F等,并使用该字母表执行移位……这是一种有趣的方法。我没有想过那样做。也许可以看看我是否能编码。我会保留二进制/字节,并且在试图打印它们时只使用这些字节的十六进制表示。这是一种有趣的方法。我没有想过那样做。也许可以看看我是否能编码。我会保留二进制/字节,并且在打印时只使用这些字节的十六进制表示。