这个主题主要是关于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的更多相关文章

  1. Java实现BASE64编解码

    Java实现BASE64编解码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目 ...

  2. Java实现BASE64编解码器

    Java实现BASE64编解码器 笔者:chszs,转载注明.博客首页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目 ...

  3. java.util.base64报错解决

    java.util.Base64 这个类,它是在 JDK 1.8 的时候加入的,之前版本的标准库没有这个类. eclipse更换jdk1.8就可以了了.

  4. java基础---->Base64算法的使用

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息.详细的Base64信息,可以参见维基百科:https://en.wikipedia.org ...

  5. Java进行Base64的编码(Encode)与解码(Decode)

    关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便 ...

  6. java util - base64转换工具

    测试代码 package cn.java.codec.base64; public class Test { public static void main(String[] args) { Stri ...

  7. java.util.Base64

    Base64 简单使用 java.util.Base64 package com.mozq.sb.jwt01.config; import java.nio.charset.Charset; impo ...

  8. 转载:Java对Base64处理的细节

    https://baike.baidu.com/item/base64/8545775?fr=aladdin import java.util.Base64; 对于标准的Base64: 加密为字符串使 ...

  9. Java中base64与byte[]转换

    1.base64转byte[] 导包: import java.util.Base64 转换: String base64Str = base64的字符串; byte[] bytes = Base64 ...

  10. Java生成BASE64编码

    1.所需jar包: BASE64Encoder.jar 2.在导包过程中,可能会出现工程不识别的情况.即:不能找到BASE64Encoder的jar包.此时,可以有两种方法解决这个问题: a.  只需 ...

随机推荐

  1. "ORA-20100: 为 FND_FILE 创建文件 o0003167.tmp 失败"

     今天在运行请求时候得到如下的错误日志: 原因:由于ORA-20100:为FND_FILE创建文件o0003167.tmp失败. 在请求日志的错误原因中您会找到更详细的信息. 查找了一些资料,总结 ...

  2. 【UNIX环境高级编程】文件 IO 操作 一 ( open | close | creat | lseek | write | read )

    博客地址 : http://blog.csdn.net/shulianghan/article/details/46980271 一. 文件打开关闭操作相关函数介绍 1. open 函数 (1) op ...

  3. Android的ScrollView和HorizontalScrollView-android学习之旅(四十一)

    HorizontalScrollView和ScrollView简介 ScrollView和HorizontalScrollView都继承于FrameLayout组件,两个都是容器,前者为里面的组件添加 ...

  4. Java EE 之 过滤器入门学习与总结(1)

    使用Filter技术来配合开发会使得开发变得简单起来.简单的一个例子就表现在"乱码问题"上.不使用Filter的话,我们有可能需要为每一个网页设置字符编码集,如request.se ...

  5. 多进程log4cxx区分日志

    多进程log4cxx区分日志 (金庆的专栏) 网游客户端一般会多开,多个进程会写同一个日志文件.log4cxx看来会对文件加锁,防止多进程写同一文件写乱,截止目前还没发现错乱的日志. log4cxx有 ...

  6. android:layout_gravity和gravity的区别

    文章转自http://blog.csdn.net/shakespeare001/article/details/784346,给出了很详细的解释. 1.首先来看看Android:layout_grav ...

  7. 【UI 设计】PhotoShop基础工具 -- 移动工具

    还是学点美工的东西吧, 业余爱好   比学编程还难 PS版本 : PhotoShop CS6 1. 移动工具 (1) 工具栏和属性栏 工具栏 和 属性栏 : 左侧的是工具栏, 每选中一个工具, 在菜单 ...

  8. Java进阶(二十四)Java List集合add与set方法原理简介

    Java List集合add与set方法原理简介 add方法 add方法用于向集合列表中添加对象. 语法1 用于在列表的尾部插入指定元素.如果List集合对象由于调用add方法而发生更改,则返回 tr ...

  9. 基于Android的手机程序----口袋理财(13年版)

    主页面 记账模块 司机模块 司机明细 司机记录 贷款计算 其他功能 收支一览 统计报表 购物计划 设置模块 使用说明 收支项目 项目添加

  10. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(下)Samba经典应用案例

    五.[Samba应用案例二] 设置Samba共享目录/software,允许用户jack和mary可以通过Windows客户端访问,并具有读写权限. 1.创建目录/software,添加用户jack, ...