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

时间: 2025-01-16 13:22:24

java安全——BASE64的相关文章

Java实现BASE64编解码

Java实现BASE64编解码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更详细地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式.Java语言提供了一个很好的BASE64算法的实现,即Apache Commons Codec工具包.本文将简要地讲述如何使用BASE64以及它是如何工作的. 以下我们用BASE64对字符串进行编码:

Java实现BASE64编解码器

Java实现BASE64编解码器 笔者:chszs,转载注明.博客首页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更详细地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式. Java语言提供了一个很好的BASE64算法的实现,即Apache Commons Codec工具包.本文将简要地讲述如何使用BASE64以及它是如何工作的. 以下我们用BASE64对字符串进行编码:

java利用Base64编码和解码图片文件

1.编码与解码代码如下所示: import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.image

java中Base64转码与解码(加密与解密)原理与使用

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范.Base64编码可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此

java.util.Base64

Base64 简单使用 java.util.Base64 package com.mozq.sb.jwt01.config; import java.nio.charset.Charset; import java.util.Base64; /** * Base64中的字符 + / = 在url中存在特殊意义,如果放在url中会被转义. */ public class Base64Test { public static void main(String[] args) { //将字节数组编码成

java编写Base64密码器

Base64加密算法,应用广泛,尤其是在电子邮件传输上,有很大的用途 用JAVA编写的程序代码如下 import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import javax.swing.JFrame; import javax.s

Java 加密 base64 encode

[前言] 计算机中的数据都是二进制的,不管是字符串还是文件,而加密后的也是二进制的, 而我们要看到的往往是字符串,本文就介绍了将byte[]转为各种进制以及base64编码. [base64] 是一种编码方式,可以理解为复杂的进制,很多算法加密后输出的都是byte[],而这个byte[]对我们显示的形式是不友好的(乱码), 所以一般都是转为base64的,当然也可以转为其他进制.. [代码] [java] view plaincopy package com.uikoo9.util.encryp

JAVA实现Base64编码的三种方式

摘要: Javabase64编码的三种方式   有如下三种方式: 方式一:commons-codec.jar Java代码  1. String base64String="whuang123"; 2. byte[] result = Base64. Javabase64编码的三种方式 有如下三种方式: 方式一:commons-codec.jar Java代码 1. String base64String="whuang123"; 2. byte[] result

Java实现 Base64、MD5、MAC、HMAC加密(转)

开始对那些基本的加密还不怎么熟练,然后总结了些,写了一个测试:支持 Base64.MD5.MAC.HMAC加密,长话短说,我们都比较喜欢自己理解,看代码吧! 采用的输UTF-8的格式... package codec; import java.security.MessageDigest; import javax.crypto.KeyGenerator; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.c