我正在做一个解密程序。我一直在寻找并试图解决这个问题,但我什么也看不见。因此,当我解密诸如9adwrqxvni0348&4#9
之类的时候它很好,但当我有11
或更多的偏移时,它会解密除最后一个字符之外的所有字符。无论过去11
的偏移是什么,最后一个字符都是相同的。我刚刚把所有的信都塞进来了,他们工作了。它只是在11
之后无效的最后一个数字字符。
for (int count = 0; count < length; count++)
{
if (msg[count] >= 'a' && msg[count] <= 'z')//Letter wraping
{
dmsg += ((msg[count] - 'a' - offset + 26) % 26) + 'a';
}
else if (msg[count] >= '0' && msg[count] <= '9')//Number wraping
{
dmsg += (abs(msg[count] - '0' - offset + 10) % 10) + '0';
}
}
答案 0 :(得分:-1)
在我看来,当偏移量大于10时,添加10不会在任何等于或小于偏移量与10之差的数字上创建适当的正值。一个解决方法是mod 10偏移量:
var braintree = require("braintree");
var gateway = braintree.connect({
environment: braintree.Environment.Sandbox,
merchantId: "replaceWithYourMerchantId",
publicKey: "replaceWithYourPublicKey",
privateKey: "replaceWithYourPrivateKey"
});