RC4整数Java加密/解密
简而言之,我有一个大约10位数的整数值。我想用Java中的rc4算法对它进行加密。我上网搜索,但只能找到字符串值/明文的加密。请告知。谢谢 您不能将整数转换为RC4整数Java加密/解密,java,encryption,integer,rc4-cipher,Java,Encryption,Integer,Rc4 Cipher,简而言之,我有一个大约10位数的整数值。我想用Java中的rc4算法对它进行加密。我上网搜索,但只能找到字符串值/明文的加密。请告知。谢谢 您不能将整数转换为字符串,然后对字符串进行加密吗 String myIntegerString=Integer.toString(myInteger) 加密myIntegerString 存储加密的myIntegerString 读取加密的myIntegerString 解密myIntegerString Integer.parseInt(myInteger
字符串
,然后对字符串进行加密吗
String myIntegerString=Integer.toString(myInteger)
李>
myIntegerString
李>
myIntegerString
李>
myIntegerString
李>
myIntegerString
李>
Integer.parseInt(myIntegerString)
我假设您正在使用JavaSEAPI,特别是
javax.crypto.Cipher
类。加密API涉及通用数据,而不是以某种方式进行解释;这就是为什么Cipher#doFinal()
采用字节数组的原因。(考虑到常用术语“明文”/“密文”,您可以将其解释为字符串。)
问题的解决方案是将整数转换为字节数组。如果“integer”在您的例子中表示
int
(32位),那么您需要4个字节(8位) 请尽你最大的能力将你的答案格式化。这一次的格式太差,使用了无效的Java代码,我很想投否决票,而不是进行调整。如果同时显示字符串的编码/解码,则答案会有很大改进。请注意,Java中int
的最大值为2147483647
。这确实是10位数字,但高于给定最大值的值将失败,即可能需要long
(或更大的值,如biginger
)。当然,如果需要,您仍然可以轻松地将其存储在5字节而不是8字节中。