永发信息网

java如何加密int类型数据

答案:3  悬赏:50  手机版
解决时间 2021-12-29 03:53
  • 提问者网友:夢醒日落
  • 2021-12-28 11:51
java中的加密函数似乎都是对String类型加密的。那int类型的数据应该怎么加密呢?
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-12-28 12:12
String加密 实际上也是对String的 byte[] 加密。

通常一种加密算法,都针对的是字节数组,而非String 或者int。
因为所有上述这些类型都可以用 byte[]表示,只要开发一次就可以针对所有类型加密了

把int转化成 byte[]加密就可以了
byte[4] intbytes = new byte[4]; 然后用位移运算,得到int的每一个byte
int value = 1000 ;

intbytes[0] = (byte)(value & 0x000000FF)
intbytes[1] = (byte)((value & 0x0000FF00) >> 8)
intbytes[2] = (byte)((value & 0x00FF0000) >> 16)
......

String换算成byte就更容易了 String.getBytes("utf-8") ; 参数是字符集名字 可以不用指定,但是你就不确定它到底用的哪种字符集。
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-12-28 14:02
用异或运算呗,其实也没啥
  • 2楼网友:梦中风几里
  • 2021-12-28 12:22
会出numberformatexception异常的。 integer.parseint的参数虽然是个string类型的,但是对内容有要求,必须是个能转化成数字的字符串。例如:"把int转为string再加密,然后解密为string,再转换为int
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯