用base64加密解密文件

用jdk的base64工具加密一副图片,

思路是:先将图片加密,得到加密后的字符串,然后保存到本地磁盘的某个txt文件,然后读出这个文件,将其中的内容独到byte数组中,再解密。得到解密后的字节数组,通过流,写到本地磁盘上,得到一副图片。

加密方法:

static String filedc() throws Exception {
InputStream is = null;
File file = new File("E:/a.png");
String fileString = "";
try {
is = new FileInputStream(file);  //得到源图片的输入流
byte[] b = new byte[is.available()];//取得他的可用字节大小
is.read(b); //将可用字节数组塞满
BASE64Encoder be = new BASE64Encoder();// 构建加密对象
fileString = be.encode(b);//将字节数组加密为字符串
System.out.println(fileString);
} catch (Exception e) {
e.printStackTrace();
} finally {
is.close();
}
return fileString;//返回字符串
}
2.将字符串保存到本地磁盘上。比如E:/1.txt
3,读取1.txt,并输出一副图片
static void fromfile() throws Exception {
BASE64Decoder bd = new BASE64Decoder();
OutputStream os = null;
InputStream is = null;
File sfile = new File("E:1.txt");  //加密字符串所在的路径
File file = new File("E:/b.png");//解密后的图片路径
try {
is = new FileInputStream(sfile);//将加密字符串所在的文件放到输入流中
byte[] by = new byte[is.available()];//建立足够大的字节数组
is.read(by); //独到字节数组中
byte[] b = bd.decodeBuffer(new String(by));//将这个字节数组再解密到另一个字节数组中
os = new FileOutputStream(file);//将解密后的图片放入输出流中
os.write(b); //将解密后的字节数组写到输出流中
} catch (Exception e) {
e.printStackTrace();
} finally {
os.flush();
os.close();
is.close();
}
}


通过上述步骤,在e盘下可以找到解密后的图片。

jdk的base64据说不太安全,不过自己玩玩足够了,加密一些平时的图片,还可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值