RC4整数Java加密/解密

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

简而言之,我有一个大约10位数的整数值。我想用Java中的rc4算法对它进行加密。我上网搜索,但只能找到字符串值/明文的加密。请告知。谢谢

您不能将整数转换为
字符串
,然后对字符串进行加密吗

  • 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字节中。