我正在为ascii字符串创建一个加密器/解密器,其中我取一个char的ascii值,加1,然后用最高的ascii值修改它,这样我得到一个有效的ascii char。 问题是解密。
让我们说(a + b)%c = d 我知道b,c和d的值。 如何从中获取变量值?
答案 0 :(得分:3)
这正是ROT1替换密码。减去1,如果小于最低值(假定你假设你是如何描述它的话),那么加上最高值。
使用" mod,"等术语虽然准确,但这看起来比现在看起来更复杂。它只是添加到戒指上。当你翻过最后一封信时,你会回到第一个字母,反之亦然。一旦你了解数学运算的方法,就应该弹出方程式。基本上,您只需正常添加或减去(添加到加密,减去在这种情况下解密),最后,mod
"标准化"你回到了合法价值观的环节。
答案 1 :(得分:1)
使用反向公式
a = (b - d) mod c
或在实践中
a = (b - d + c) % c.
需要添加术语+ c
作为安全措施,因为%
运算符未在底片中实现真正的模数。
答案 2 :(得分:0)
我们假设c
为2,d
为0且b
为4。
现在我们知道a
必须为2 ...或者4实际上......或者6 ...或任何其他偶数。
你无法解决这个问题,有无限的解决方案。