我正在尝试通过为其上的每个字符添加一些int(随机选择的键)来加密文件。 例如,如果文件包含字符串“abcde”,则键= 2 加密的字符串将是“cdefg” 问题是我使用加密算法很多时间而不是im over overcii表(超过255)。 我试图以模数的方式思考,但它没有帮助。 有人有想法吗?
答案 0 :(得分:1)
当你查看ascii表值为255时,将其包装为0以后。类似的东西:
int randomKey = 2; //However you want to assign the value - do it.
...
//This is how you "encrypt" a character. Example character is 'a'.
int character = 'a';
int encryptedChar = character + randomKey;
if (encryptedChar > 255) {
encryptedChar -= 255;
}
当“解密”遵循反向逻辑时。
然而,这是一个非常弱的“加密”。密码分析师会立刻打破它!
另请注意java char是16位。值可以大于255.您应该确保输入字符在0-255范围内。拒绝超出该值的值。