java中使用Base64的加密方法将byte[]加密成一个字符串的问题?

图片说明

这上面那个就是将byte[]加密的方法。
 public static void main(String[] args) throws IOException {
        File file = new File("C:\\Users\\libai\\Desktop\\s.pdf");
        FileInputStream fis = new FileInputStream(file);
        ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
        byte[] b = new byte[1000];
        int n;
        byte[] buffer;
        while ((n = fis.read(b)) != -1) {
            bos.write(b, 0, n);
        }
        fis.close();
        bos.close();
        buffer = bos.toByteArray();

        File file1 = new File("C:\\Users\\libai\\Desktop\\x.pdf");
        FileInputStream fis1 = new FileInputStream(file1);
        ByteArrayOutputStream bos1 = new ByteArrayOutputStream(1000);
        byte[] b1 = new byte[1000];
        int n1;
        byte[] buffer1;
        while ((n1 = fis1.read(b1)) != -1) {
            bos1.write(b1, 0, n1);
        }
        fis1.close();
        bos1.close();
        buffer1 = bos1.toByteArray();
        String base64Encryption = Base64Encryption(buffer);
        System.out.println("第一条"+base64Encryption);
        String base64Encryption1 = Base64Encryption(buffer1);
        System.out.println("第二条"+base64Encryption1);
    }

这是测试代码
运行的瞬间,打印出的是这样,
图片说明

过了一秒多的时间,控制台变成这样了,
图片说明

不清楚是怎么回事?我是想加密多个文件,但是这样只是有最后一条的加密信息。求大神指点。

2个回答

这是控制台的问题,控制台的buffer有上限,有可能是第一行太长了,控制台只保存了最后一行。
by the way,base64使用场景主要用于编码(将字符串去掉一些特殊符号),前端一般用于小图片的编码,以及字节数组字符串可读,没有加密功能。

qq_37751990
SimpleSmile_5177 这个base64编码的方法我是放到一个for循环里面,想进行多次编码然后放到一个集合里。但是我走debug,发现第一次走编码那个方法没有问题,但是第二次走那个编码方法时,程序直接跳出了那个for循环。所以我那个集合里只得到了第一次编码的内容,没有第二份。
11 个月之前 回复

谢谢,找到问题了,是我这代码写的有问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java使用base64加密
java使用base64加密.可以直接使用,包括加密和解密,非常好用
java md5加密和base64加密方法
md5加密 private String md5Encode(String plainText) { String re_md5 = new String(); try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(plainText.getBytes()); ...
网络:Base64加密方法的使用
#import "ViewController.h" #import "NSString+Base64.h" @interface ViewController ()@property (weak, nonatomic) IBOutlet UITextField *usernameField; @property (weak, nonatomic) IBOutlet UITextField *pas
iOS中加密的使用base64加密
一,base64 加密解密 #pragma mark base64"加密" /加密界面都是对二进制进行处理     NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];          //指定编码方式.默认0   NSString *base64String= [data ba
Base64加密和字符串的大小写转换
在配置文件的时候,会配置用户名和密码这些敏感的信息,此时需要加密。这里提供一个简单的加密方式,话不多说,直接代码。 导入的有关jar包 import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.regex.Pattern; import org.apache.mina.u
base64加密字符串过长的问题
近几天开发一个上传照片,然后比对新旧照片相似度的功能,我把照片加密后的字符串打出到控制台,然后复制到测试类,测试就没问题,可是加密后的字符串直接做参数接口就报参数错误问题,搜了好多文章,终于发现一篇好文章,说的正是我的问题。 BASE64加密字符串,当编码的字节较长时,encode出来的字符串会自动加入\r\n 进行自动换行。针对这个问题,原因是rfc规范规定76个字符换一次行。 我们可以使用...
Base64加密的方法
关于Base64的加密方法,里面含有两个工程,一个是生成lib文件,另一个是加密实例是通过前辈们改成的,编译环境为VS2010
base64与MD5加密方法
base64与MD5加密方法,可以直接调用,也经过了实际的使用,适合在jdk1.7上运行
base64 加密方法
使用 base64 对 data 进行编码。 设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输  可用于app端的文件上传 1. 首先截取一个图片(base64 get 方法 图片最大值为4kb)  命名为1.png;            (这是图片1.png ) 2. 建一个页面为get.php <?php header('content-type
iOS将字符串3DES加密后转Base64
为NSString写分类 NSString+Base64After3DES .h文件 #import #import @interface NSString (Base64After3DES) /** * 3DES加密并转Base64 * * @param plainText 要加密的字符串 * @param encryptOrDecrypt 系统固定
Base64加密、MD5加密
Base64加密、MD5加密,winform下面的,只是个简单的代码示例
grails中使用BASE64加密
grails中使用BASE64加密 在utils包下建立:PasswordCodec package encode import java.security.MessageDigest import sun.misc.BASE64Encoder /** * Created by admin on 2015/10/15. */ class PasswordCodec {
MD5 加密 和Base64加密
MD5加密方法: - (NSString *) md5:(NSString *) input {     const char *cStr = [input UTF8String];     unsigned char digest[CC_MD5_DIGEST_LENGTH];     CC_MD5( cStr, strlen(cStr), digest ); //
js和java中base64加密
1. 首先在页面引入base64.js 2.js中的写法:$("#CARD_ID_HIDDEN").val(base64encode($("#CARD_ID_SHOW").val())); 3.java中的写法:CARD_ID = new String(Base64.decodeBase64(CARD_ID), "UTF-8");
java实现base64加密
java base64 算法 java实现base64加密 解密
java实现Base64加密
密码常用术语: 明文:待加密的信息 密文:经过加密后的明文 加密:明文转为密文的过程 加密算法:明文转为密文的转换算法 加密秘钥:通过加密算法进行加密操作用的秘钥 解密:将密文转为明文的过程 解密算法:密文转为明文的算法 解密秘钥:通过解密算法进行解密操作用的秘钥 主动攻击:攻击者非法入侵密码系统,采用伪造修改删除等手段向系统注入假消息进行欺骗(对密文具有破坏作用) 被动攻
Java 的 Base64、消息摘要算法加密
介绍 Base64、MD5、SHA-1、SHA-224、HmacMD5 相关算法,并使用 Java 代码实现。
Java——BASE64加密和解密
通过JDK8及更高版本中的 java.util.Base64实现Base64加解密的方式。 import java.util.Base64; import java.util.Base64.Decoder; import java.util.Base64.Encoder; public class Base64JDK8 { /** * BASE64加密 * @param data...
Java Base64加密与解密
运行环境: 开发工具:IntelliJ IDEA 2017.1.4 开发环境:JDK1.8、Maven3.5.0等(其他没啥影响的就不列举了) 步骤: 1、在pom.xml添加依赖 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;commons-codec&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;commons-codec...
java Base64 加密工具类
整理项目使用的工具类便于以后查阅 public class Base64Util { private static Logger logger = LoggerFactory.getLogger(Base64Util.class); // private static final String charset = &amp;amp;amp;quot;utf-8&amp;amp;amp;quot;; private static ...
Java Base64 加密与解密
Java Base64 加密与解密 本文我们探讨不同方式实现java中Base4加密和解密功能。主要是java 8 api为主,同时也学习来自Apache Commons 的API。 Java 8 中 Base 64 java 8 在标准API中增加Base64功能,通过 java.util.Base64工具类。首先我们看基本的加密过程: Java 8 基本 Base64 基本的...
为什么使用Base64加密
base64加密方式。这种加密方式很容易就可以进行解密,并不存在安全性,为什么还要使用呢?是为了数据在网络间能够正常的传输。 曾经写过一个获取秘钥,然后解密密文。然而这个方法让我很纠结,有的时候密文可以被解开,有的时候解密失败。查了很久是秘钥长度不对。 秘钥/assffc12jjd30/ds2.我使用的是C语言的strcopy方法,这个方法,遇见0/就结束复制。当然还有很多隐形字符传输的过程中也
使用JS加密BASE64
使用JS将字符串或二进制加密为BASE64编码
java 加密之Base64示例
JDK 会创建一个BASE64Encoder 和 BASEDecoder 对象加解密 public static void jdkBase64(){ try { BASE64Encoder encoder = new BASE64Encoder() ; String encode = encoder.encode(src.getBytes()); System.out.pr
java Base64加密实现
Base64是网络上最常见的用于传输的8bit字节代码的编码方式,也常将把需要的二进制数据编码放在url中的形式上传,由于可读性差,所编码的数据不会被直接看到信息详情! Base64 是采用字符替换的方式,将3个8位字节(3*8=24)转换为4个6位字节(4*64),之后再6位的前面补两个0,形成8位一个字节的形式,如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能出现1或者2个'=' Base64编码表:
Java实现Base64加密
密码常用术语 明文:待加密信息 密文:经过加密后的明文 加密:明文转为密文 加密算法:明文转为密文的转换算法 加密秘钥:通过加密算法进行加密操作用的秘钥 解密算法:将密文转换为明文的算法 解密秘钥:通过加密算法进行解密操作的秘钥 主动攻击:攻击者非法侵入密码系统,对系统注入假消息进行欺骗 科克霍夫:系统的安全基于秘钥,即对算法公开,对秘钥保密 密码分类按时间分 古典密码:以字符为基本加密单元 现代密
加密使用的base64类
加密使用的base64类
java 加密之 Base64 算法
Base64 简介Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。例如:在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。简而言之,base64其实不是安全领域下的加解密算法,只能算
将base64字符串转换成BYTE[]
现有一个base64字符串,由于实际需要,需将其转换为BYTE[]数组,在网上看了下相关的转换方法,但是都无法实现,请教高手帮忙 ,给出相关代码是最好的,谢了。
将字符串使用md5加密
使用md5加密
MD5加密,将明文加密成密文
MD5加密,将明文加密成密文,在一些开发中遇到需要通过MD5加密的密码可以直接使用这个类,直接调用方法即可。
使用Base64加密字符串,链接等
加密解密 博文链接:https://zhaoyl.iteye.com/blog/200257
JavaScript中Base64加密
JavaScript中使用Base64算法加密用户信息,使用方法详见:https://my.oschina.net/jacktanger/blog
BASE64加密图片字符串转码
BASE64加密图片字符串转码
Base64加密
Base64Utils.java
base64加密
base64的js好用!
BASE64加密
 如基本的单向加密算法:     ●  BASE64 严格地说,属于编码格式,而非加密算法    ●  MD5(Message Digest algorithm 5,信息摘要算法)    ●  SHA(Secure Hash Algorithm,安全散列算法)    ●  HMAC(Hash Message Authentication Code,散列消息鉴别码)     复杂的对称加密(DE...
加密之base64
加密之base64
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法