java安全——BASE64
这个主题主要是关于java安全的,应该来说算是个大杂烩吧,但是又不缺乏实用性,算是作为一个总结,用的时候可以作为参考。
1、使用BASE64加解密
在java加密技术中,BASE64算是一种最简单、最基本的加密技术。详见如下例子:
import java.io.IOException; import Decoder.BASE64Decoder;
import Decoder.BASE64Encoder; public class Base64Test {
public static void main(String[] args) throws IOException{
String data = "我是一个需要加密的数据";
System.out.println("加密前:"+data);
String data1 = encryptBASE64(data.getBytes());
System.out.println("加密后:"+data1);
byte[] data2 = decryptBASE64(data1);
System.out.println("解密后:"+new String(data2));
} private static String encryptBASE64(byte[] data){
return(new BASE64Encoder()).encodeBuffer(data);
} private static byte[] decryptBASE64(String data) throws IOException{
return (new BASE64Decoder()).decodeBuffer(data);
}
}
结果:
加密前:我是一个需要加密的数据
加密后:ztLKx9K7uPbQ6NKqvNPD3LXEyv2+3Q== 解密后:我是一个需要加密的数据
使用BASE64加密后的字符串个数都是4的倍数,一个字符占两个字节,也就是说BASE64加密以后的字符串必须是8个字节的倍数,如果不足,需要在后面补“=”号,所以很多时候能看到使用BASE64加密后的字符以“=”结束。
使用BASE64加密后的字符串每隔76个字符都会插入一个回车符,所以即使明文很长,打印出来的密文也不会在一行显示。但是在解密时,这些回车符显得无足轻重,即使密文不含回车符也可以正常解密。
java安全——BASE64的更多相关文章
- Java实现BASE64编解码
Java实现BASE64编解码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目 ...
- Java实现BASE64编解码器
Java实现BASE64编解码器 笔者:chszs,转载注明.博客首页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目 ...
- java.util.base64报错解决
java.util.Base64 这个类,它是在 JDK 1.8 的时候加入的,之前版本的标准库没有这个类. eclipse更换jdk1.8就可以了了.
- java基础---->Base64算法的使用
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息.详细的Base64信息,可以参见维基百科:https://en.wikipedia.org ...
- Java进行Base64的编码(Encode)与解码(Decode)
关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便 ...
- java util - base64转换工具
测试代码 package cn.java.codec.base64; public class Test { public static void main(String[] args) { Stri ...
- java.util.Base64
Base64 简单使用 java.util.Base64 package com.mozq.sb.jwt01.config; import java.nio.charset.Charset; impo ...
- 转载:Java对Base64处理的细节
https://baike.baidu.com/item/base64/8545775?fr=aladdin import java.util.Base64; 对于标准的Base64: 加密为字符串使 ...
- Java中base64与byte[]转换
1.base64转byte[] 导包: import java.util.Base64 转换: String base64Str = base64的字符串; byte[] bytes = Base64 ...
- Java生成BASE64编码
1.所需jar包: BASE64Encoder.jar 2.在导包过程中,可能会出现工程不识别的情况.即:不能找到BASE64Encoder的jar包.此时,可以有两种方法解决这个问题: a. 只需 ...
随机推荐
- Fetch XML and ConditionExpression operators
https://msdynamicscrmblog.wordpress.com/2013/05/10/fetch-xml-and-conditionexpression-operators-using ...
- EBS开发技术之Patch安装
Contents Document Control........................................................................ ...
- JQuery实战---初识JQuery+入门实例
JQuery在小编的世界中,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库,百度百科对JQuery的介绍比较详细,小伙伴可以东东自己可耐的小爪子,上网进行搜索,说 ...
- gradle2.0笔记——让项目升级到gradle2.0
昨晚看到QQ群消息说gradle2.0发布了,今天去看了一下,确实是昨天发布的,为rc版本:Gradle 2.0-rc-2.于是决定试一下. gradle可以在官网上下载,地址如下:http://ww ...
- Win7 Eclipse Hadoop2.4插件配置
准备工作: 1.下载hadoop2x-eclipse-plugin-master.zip Github地址:https://github.com/winghc/hadoop2x-eclipse-plu ...
- Linux 进程调度小结
概述 这个问题又是面试常问问题,当时听到感觉太宽泛了,有点大,心里知道但是说不全,这里做一下总结 [1]进程调度的作用 [2]调度德策略 1. 进程调度的作用 ,进程调度就是对进程进行调度,即负责选择 ...
- Linux下修改主机名步骤
Linux下修改主机名为gpdb 步骤一.运行vi /etc/sysconfig/network命令 NETWORKING=yesHOSTNAME=gpdb 步骤二.运行hostname gpdb命令 ...
- leetcode 生成杨辉三角形, 118 119 Pascal's Triangle 1,2
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Retu ...
- Aliyun上Linux服务器挂载数据盘及速度测试
原始文档来自于阿里云官方文档: Linux 系统挂载数据盘 铁锚 于 2013年12月19日 根据自己的需要进行整理 操作系统: CentOS 6.3, 平台 : 阿里云 ECS 云服务器 1. ...
- 用C语言实现Ping程序功能
本文转载自:http://www.ibm.com/developerworks/cn/linux/network/ping/ ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具.p ...