Excel 凯撒密码:如何处理删除信息的字符
我有一个问题,要求使用修改版的凯撒密码对消息进行加密。问题是我需要使用扩展ASCII库的所有256个字符。这一部分相当简单 但是,当我运行加密时,消息的长度发生了变化。在跟踪问题之后,似乎如果使用特定的移位,一些字符将转换为ASCII 127,这是“删除”的字符。因此,它会删除前一个字符,而不是在消息中追加字符 在保持密码完整性的同时,对如何绕过此问题有何建议 如果有帮助,我可以用Python和VBA编写解决方案 注意:我也发布了这个,他们建议使用十六进制表示法,我正在研究它作为替代方法 编辑: VBA中的代码:Excel 凯撒密码:如何处理删除信息的字符,excel,python-3.x,vba,Excel,Python 3.x,Vba,我有一个问题,要求使用修改版的凯撒密码对消息进行加密。问题是我需要使用扩展ASCII库的所有256个字符。这一部分相当简单 但是,当我运行加密时,消息的长度发生了变化。在跟踪问题之后,似乎如果使用特定的移位,一些字符将转换为ASCII 127,这是“删除”的字符。因此,它会删除前一个字符,而不是在消息中追加字符 在保持密码完整性的同时,对如何绕过此问题有何建议 如果有帮助,我可以用Python和VBA编写解决方案 注意:我也发布了这个,他们建议使用十六进制表示法,我正在研究它作为替代方法 编辑:
bLength=1
cText=vbNullString
fOffset=WorksheetFunction.randbween(-255,255)
而bLength(Asc(dCharacter)+fOffset)则
eCharacter=Chr(Asc(dCharacter)+fOffset+255)
ElseIf 255<(Asc(dCharacter)+fOffset)然后
eCharacter=Chr(Asc(dCharacter)+fOffset-255)
其他的
eCharacter=Chr(Asc(dCharacter)+fOffset)
如果结束
cText=cText+eCharacter
稠度=稠度+1
温德
您的代码在哪里?你能展示一下你是如何实现它的吗?不要在VBA中使用+
作为字符串连接,使用&
:cText=cText&eCharacter
@FunThomas:修复了这个问题。现在似乎工作得更好了