【发布时间】:2019-04-16 04:24:46
【问题描述】:
简而言之,我有一个大约 10 位数长的整数值。我想在 Java 中使用 rc4 算法对其进行加密。我上网搜索,但我只能找到字符串值/明文的加密。请指教。谢谢!
【问题讨论】:
标签: java encryption integer rc4-cipher
简而言之,我有一个大约 10 位数长的整数值。我想在 Java 中使用 rc4 算法对其进行加密。我上网搜索,但我只能找到字符串值/明文的加密。请指教。谢谢!
【问题讨论】:
标签: java encryption integer rc4-cipher
我假设您正在使用 JavaSE API,尤其是 javax.crypto.Cipher 类。加密 API 与通用数据有关,不以某种方式解释;这就是Cipher#doFinal() 采用字节数组的原因。 (给定常用术语“明文”/“密文”,您可以将其解释为字符串。)
解决您的问题的方法是将整数转换为字节数组。如果在您的情况下“整数”表示int(32 位),那么您需要 4 个字节(8 位)。 See this question for (multiple good) solutions to this.
【讨论】:
int 的最大值为2,147,483,647。这确实是 10 位数字,但高于给定最大值的值将失败,即可能需要 long(或更大的东西,如 BigInteger)。当然,如果需要,您仍然可以轻松地将其存储在 5 个字节而不是 8 个字节中。
你不能把整数转换成String,然后加密字符串吗?
String myIntegerString = Integer.toString(myInteger);myIntegerString;myIntegerString;myIntegerString;myIntegerString;Integer.parseInt(myIntegerString)。【讨论】: