我在java中使用AES加密算法来加密我的数据库值。我的加密函数将加密值返回为字符串,但“Int”类型的列无法存储这样的字符串值,这是非常合乎逻辑的。有没有办法将整数加密为整数(数值)?谢谢。
最佳答案
普通 AES 返回一个字节数组。您可以将其存储为字节数组、Base64 文本字符串或 BigInteger
:
BigInteger myBigInt = new BigInteger(AESByteArray);
128 位或更大的 AES 结果不太可能适合 32 位 Java int
。
如果您想要 32 位输入和 32 位输出,因此所有内容都适合 Java int
,那么要么编写您自己的 32 位 Feistel cipher ,或使用Hasty Pudding Cipher ,可以设置为您需要的任何位大小。
关于java - 从整数到整数的 AES 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227043/