使用java对data:image/png;base64加密图片进行解密的方法

      相信许多爬虫工程师都遇到过对data:image/png;base64加密图片进行解密的问题。今天就以java+selenium写的爬虫程序对Base64编码加密的图片进行解码为例,简单探讨下解码的方法。

思路:如果你是网站的工程师那么第一步要对图片进行base64编码,然后是使用toDataURI()函数上传服务器。社会工程学推断:大部分公司依然在使用jdk8以前版本,因此使用的base64应该是sun的私有包BASE64Encoder。所以我们解码的方法就应该是一个逆向的过程:首先对路径进行解码,其次将被协议替换掉的+符合再次替换回来,最后使用对应的BASE64Decoder进行解码。

代码如下:

String  baseImg64 ="data:image/png;base64,/......xyz".replaceAll("data:image/png;base64,","");/*截取图片字符....xyz*/

baseImg64 = URLDecoder.decoder(baseImg64);/*解码URI*/

baseImg64 = baseImg64.replaceAall(" ","+");/*找回原来编码后图片数据中的+号*/

BASE64Decoder decoder = new BASE64Decoder();

byte[] bytes = decoder.decodeBuffer(baseImg64);/*使用BASE64Decoder解码*/


。。。。。。使用imageio写入本地保存

经验证,切实可行哦。

你可能感兴趣的:(使用java对data:image/png;base64加密图片进行解密的方法)