您的位置:首页 > 编程语言 > Java开发

java密钥字符串byte[]传递问题

2013-09-21 22:50 162 查看
参加2013年的全国信息安全大赛的时候,系统功能中有一个要求将密钥编写进二维码中,但是查阅资料可以知道二维码说白了就是一个能够存储字符串的一个特殊图形,因此要将密钥变成字符串,密钥是byte[]类型,字符串在java中是String,这就需要把byte数组转换成string,然后写文件,再读文件,再把string转换回来,成为byte数组。可是,看上去很简单,编出程序来一编译,通过..其实有玄机...特别是你要用到它(byte[]的内容)加密,解密时,就会报异常。

具体做法:
将byte数组转换成string

BASE64Encoder enc=new BASE64Encoder();
String 转换后的string=enc.encode(byte数组);


将string转换回来成为byte数组:

BASE64Decoder dec=new BASE64Decoder();
try {
byte数组 = dec.decodeBuffer(转换后的string);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: