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") ; 参数是字符集名字 可以不用指定,但是你就不确定它到底用的哪种字符集。
通常一种加密算法,都针对的是字节数组,而非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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯