java - 求余数时的股息

标签 java encryption

我编写了一个程序,我在其中加密用户输入。输入只有四位数。加密公式如下:

  1. 要求用户输入 4 位数字
  2. 一个一个地迭代这些并在其中添加 7。
  3. 通过除以 10 得到每个数字的余数。
  4. 将 1 与 3 和 2 与 4 交换。

假设我输入了 1234。在每个数字中加上数字 7 之后,数字看起来像 891011。这些数字的其余部分是 8901。现在我交换它们,最后的数字看起来像 0189。这就是关于加密的程序。

USER INPUT : 0189

现在我必须编写另一个单独的程序来解密用户的输入并找出实际数字。我面临的问题是,我必须先找到红利。但是给定数据我只有除数和余数(在本例中为 10 和 0)。如果我错了,请指导我。提前致谢。

最佳答案

翻译表没有显示任何重复项,所以这里没有问题:

n    +7   %10
--------------
0 =>  7 => 7
1 =>  8 => 8
2 =>  9 => 9
3 => 10 => 0
4 => 11 => 1
5 => 12 => 2
6 => 13 => 3
7 => 14 => 4
8 => 15 => 5 
9 => 16 => 6

所以解密:

  • 打乱数字
  • 在每个数字上减去 7,如果结果为负数,则加 10(或使用转换表)

关于java - 求余数时的股息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390489/

相关文章:

Java 简单计算器

java - 如何在Google Vision Camera Source上设置矩形对焦区域?

用Crypto.js和pycrypto加密生成不同的加密密文

Java:最终局部变量无法分配,因为它是在封闭类型中定义的

java 3D 四元数旋转

c++ - Cryptoauthlib - 匿名 union 只能有非静态数据成员 - 段错误

javascript - 更改 WebRTC 中的密码

ruby-on-rails - Ruby:使用私钥/公钥进行文件加密/解密

c - 不兼容的 AES 实现?

java - 类型参数 T 隐藏了类型 T