java byte[]类型 base64解密

问题描述

首先我从服务器得到shippinglablepdf.getPdfData()得到的是一个JPG加密后的byte[]我需要对改图片进行解密后 保存到本地我想是解密是不能先转换String 不然解密后就变成shippinglablepdf.getPdfData().toString()求大神

解决方案

可以参考public void test() {InputStream is = null;FileOutputStream fos = null;String fileName = "xxxx.doc";if(!openFile(fileName)){return;}try {// 打开一个已存在文件的输出流fos = new FileOutputStream(fileName);} catch (FileNotFoundException e) {e.printStackTrace();}// 将输入流is写入文件输出流fos中int ch = 0;try {while((ch=is.read()) != -1){fos.write(ch);}} catch (IOException e1) {e1.printStackTrace();} finally{ //关闭输入流等(略)fos.close();is.close();}}
解决方案二:
可以通过ByteArrayInputStream(byte[] buf)得到流,然后再用输出流生成文件

时间: 2024-09-20 13:12:25

java byte[]类型 base64解密的相关文章

Java 类型相互转换byte[]类型,Blob类型详细介绍_java

在我们的程序开发当中,经常会用到java.sql.Blob.byte[].InputStream之间的相互转换,但在JDK的API当中,又没有直接给我们提供可用的API,下面的程序片段主要就是实现它们之间互换的util. 一.byte[]=>Blob 我们可以通过Hibernate提供的表态方法来实现如: org.hibernate.Hibernate.Hibernate.createBlob(new byte[1024]); 二.Blob=>byte[] 目前没有找到好一点的API提供,所以

Java基本类型与byte数组之间相互转换方法_java

Java基本类型与byte数组之间相互转换,刚刚写的 package cn.teaey.utils; import java.nio.charset.Charset; public class ByteUtil { public static byte[] getBytes(short data) { byte[] bytes = new byte[2]; bytes[0] = (byte) (data & 0xff); bytes[1] = (byte) ((data & 0xff00)

一个java的DES加解密类转换成C#

原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //import java.util.regex.Pattern; //import java.util.Hashtable; import javax.crypto.*; import javax.crypto.spec.*; import sun.misc.*; /** * des加密解密 */ pu

【项目分析】利用C#改写JAVA中的Base64.DecodeBase64以及Inflater解码

原文:[项目分析]利用C#改写JAVA中的Base64.DecodeBase64以及Inflater解码 最近正在进行项目服务的移植工作,即将JAVA服务的程序移植到DotNet平台中. 在JAVA程序中,有个HTTP请求数据头中,包含一个BASE64编码的字符串,例如: eJyVjMENgDAMA1fpBMjnIkp3ZzZEpAa1PLmXY10sDdqBqr54Ww5AthG7zxJYa0MYr9p7bPFnK/uqjCj06y7JfHwAX3AhhA== 现在需要将这个字符串转化成原始字

全显示成正数-安卓开发中如何使一个byte类型的数组内的数据不显示成负数

问题描述 安卓开发中如何使一个byte类型的数组内的数据不显示成负数 在做Android开发的时候一个byte类型的数组result,里面有比较大的正数,需要做什么样的处理才能使他显示的全是正数:求大神指导,给个代码 byte[] result for (int i = 0; i < result.length; i++) Log.e("读出全部page", "byte " + i + " is " + result[i]); 解决方案 f

ART世界探险(2) - 从java byte code说起

探索ART世界(2) - 从java byte code说起 Dalvik时代,如果不做JIT的话,只需要了解java字节码和Dalivk的字节码就够了.但是,到了ART时代,我们可能还要至少学习两种新东西:一个是编译后端的IR中间代码.比如,我们假如使用LLVM做为编译后端的话,需要做从dex到LLVM IR的转换工作.这个IR可能还不只一层,比如分中层的MIR和底层的LIR. 最后,我们还得了解机器指令.仅就ARM来说,现在是64位时代了,我们需要了解的就是AArch64和AArch32两种

byte类型取值范围以及溢出详解

例1: [html] view plain copy  print? public class test {       public static void main(String[] args) {           byte a = 127 ;           a = (byte)(a+3) ;           System.out.println(a);       }   }   输出-126,为什么呢 byte类型的取值范围是-128-127 这个输出结果是由java编码方

Java表达式类型自动提升

[一道经典的Java面试题] short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 答案是:前者错,后者对.相信不管是否经历过java面试过,大家一定对这道题很熟悉.因为这道题确实太经典了,以至于成为了基本每个老师都会拿出来,当作课堂例题来讲.要说清这道题,首先看看java表达式类型转换规则. [java表达式类型转换] java是一门强类型语言,不仅每个变量具有指定的数据类型,它的表达式也有指定的数据类型.因此在不同类型之间进行

计算java常用类型字节大小的工具类

问题描述 /***Name:Sizeof.java*Copyright:zhaozhihua**/packagecom.tywire.tadu.utils;importjava.lang.reflect.Array;importjava.lang.reflect.Field;importjava.lang.reflect.Modifier;importjava.util.Enumeration;importjava.util.HashMap;importjava.util.Hashtable;i