java使用Base64实现文件加密解密
本文实例为大家分享了Java实现Base64给文件加密、解密的具体代码,供大家参考,具体内容如下
packagetest.base64;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importsun.misc.BASE64Decoder;
importsun.misc.BASE64Encoder;
/**
*服务器之间传递图片
*/
publicclassTestCase{
publicstaticvoidmain(String[]args){
//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
StringstrImg=GetImageStr();
System.out.println(strImg);
//对字节数组字符串进行Base64解码并生成图片
GenerateImage(strImg);
}
publicstaticStringGetImageStr(){
StringimgFile="d:\\java.pdf";//待处理的图片
InputStreamin=null;
byte[]data=null;
//读取图片字节数组
try{
in=newFileInputStream(imgFile);
data=newbyte[in.available()];
in.read(data);
in.close();
}catch(IOExceptione){
e.printStackTrace();
}
//对字节数组Base64编码
BASE64Encoderencoder=newBASE64Encoder();
returnencoder.encode(data);//返回Base64编码过的字节数组字符串
}
publicstaticbooleanGenerateImage(StringimgStr){
if(imgStr==null){//图像数据为空
returnfalse;
}
BASE64Decoderdecoder=newBASE64Decoder();
try{
//Base64解码
byte[]b=decoder.decodeBuffer(imgStr);
for(inti=0;i
小编另分享一段java代码实现对文件的base64加密解密
Base64编码方法:将每三个8bit的字节转换为四个6bit的字节,其中,转换之后的这四个字节中每6个有效Bbit为有效数据,空余的那2个用0补上成为一个字节,java中可直接调用算法进行base64加密解密。
publicclassbase64{
publicstaticvoidmain(String[]args){
Filefile=newFile("D:\\base64.txt");
Stringresult=getFromBase64(file2String(file));
System.out.println(result);
}
//文件转字符串
publicstaticStringfile2String(Filefile){
try{
BufferedReaderbuffer=newBufferedReader(newFileReader(file));
StringBuildersb=newStringBuilder();
Stringtemp;
while((temp=buffer.readLine())!=null){
sb.append(temp);
}
returnsb.toString();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
returnnull;
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
returnnull;
}
}
//加密
publicstaticStringgetBase64(Stringstr){
byte[]b=null;
Strings=null;
try{
b=str.getBytes("utf-8");
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
if(b!=null){
s=newBASE64Encoder().encode(b);
}
returns;
}
//解密
publicstaticStringgetFromBase64(Stringstr){
byte[]b=null;
Stringresult=null;
if(str!=null){
BASE64Decoderdecoder=newBASE64Decoder();
try{
b=decoder.decodeBuffer(str);
result=newString(b,"utf-8");
}catch(Exceptione){
e.printStackTrace();
}
}
returnresult;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。