1、算法实现:

    1.1  JDK提供;  

package com.exiuge.mytest;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder; public class JdkBase64 { private static String src="hello,rose"; public static void main(String[] args)throws Exception{
endeCode(src);
} public static void endeCode(String src)throws Exception{
BASE64Encoder base64Encoder=new BASE64Encoder();
String des=base64Encoder.encode(src.getBytes());
System.out.println(des); BASE64Decoder base64Decoder=new BASE64Decoder();
String deSrc=new String(base64Decoder.decodeBuffer(des));
System.out.println(deSrc);
}
}

    1.2  Commons Codec提供;    

package com.exiuge.mytest;

import org.apache.commons.codec.binary.Base64;

public class CommonsCodecBase64 {

    private static String src="hello,rose";

    public static void main(String[] args){
enDeCode(src);
} public static void enDeCode(String src){
String des=new String(Base64.encodeBase64(src.getBytes()));
System.out.println(des); String deSrc=new String(Base64.decodeBase64(des));
System.out.println(deSrc);
}
}

    1.3  Bouncy  Castle提供:

package com.exiuge.mytest;

import org.bouncycastle.util.encoders.Base64;

public class BouncyCastleBase64 {

    private static String src="hello,rose";

    public static void main(String[] args){
enDeCode(src);
} public static void enDeCode(String src){
String des=new String(Base64.encode(src.getBytes()));
System.out.println(des); String deSrc=new String(Base64.decode(des));
System.out.println(deSrc);
}
}

2、应用场景

    e-mail、秘钥、证书文件

3、Base64算法产生原因

    邮件的“历史问题”

4、Base64算法定义

    基于64个字符的编码算法

  

加解密---Base64的更多相关文章

  1. JAVA加解密 -- Base64加解密

    Base64算法实现:可以将任意的字节数组数据,通过算法,生成只有(大小写英文.数字.+./)(一共64个字符)内容表示的字符串数据. private static final String str ...

  2. base64/62 加解密的实现。

    base64/62加解密代码下载地址: http://files.cnblogs.com/files/Kingfans/base64(62)加解密.zip base64: base62:

  3. iOS - (base64对字符串加解密)

    今天公司让做支付系统,为了安全起见,需要对一些数据进行加密,然而我首想到的就是 base64 ,严格来说这不是一种加密方式,这只是将原有的一些字符串或者其它的一些文本进行一个转化而已,就是转化成数字, ...

  4. 1.Java 加解密技术系列之 BASE64

    Java 加解密技术系列之 BASE64 序号 背景 正文 总结 序 这段时间,工作中 用到了 Java 的加解密技术,本着学习的态度,打算从这篇文章开始,详细的研究一番 Java 在加解密技术上有什 ...

  5. 讲讲网络模块中加解密那点儿事--AES+BASE64

    本篇文章已授权微信公众号 dasuAndroidTv(大苏)独家发布 这次想来讲讲网络安全通信这一块,也就是网络层封装的那一套加密.解密,编码.解码的规则,不会很深入,但会大概将这一整块的讲一讲. 之 ...

  6. 前端base64、baseurl加解密和RSA加解密

    由于项目最近要进行安全测试,前端的用户和密码都是明文数据传送给后台那里,其实这样很很不安全的,容易泄露个人信息和密码.中间服务器的同事就提出,可以通过前端接收公钥,利用公钥对密码进行加密,把加密过密码 ...

  7. 使用Apache commons-codec Base64实现加解密(转)

    commons-codec是Apache下面的一个加解密开发包 官方地址为:http://commons.apache.org/codec/ 官方下载地址:http://commons.apache. ...

  8. android中的MD5、Base64、DES/3DES/ADES加解密

    MD5摘要算法: <span style="font-size:18px;">主要代码: String s = edit.getText().toString(); i ...

  9. 【VBA研究】如何用Base64 编解码方法实现简单的加解密

    Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码,将数据变成字符串实现文本传输.由于编码简单,所以很容易实现,代码也是现成的.利用这个编码规则可以实现简单的加解密.编解码方 ...

随机推荐

  1. vue 之 指令系统介绍

    浏览目录 条件渲染 class 与style绑定 事件处理 指令系统介绍 所谓指令系统,大家可以联想咱们的cmd命令行工具,只要我输入一条正确的指令,系统就开始干活了. 在vue中,指令系统,设置一些 ...

  2. python中list的使用

    1.list(列表)是一种有序的集合,可以随时添加.修改.删除其中的元素. 举例:listClassName = ['Jack','Tom','Mark'] 列表可以根据索引获取元素,如:listCl ...

  3. 《Effective Java》第5章 泛型

    第23条:请不要在新代码中使用原生态类型 声明中具有一个或者多个类型参数( type parameter)的类或者接口,就是泛型(generic)类或者接口. 每种泛型定义一组参数化的类型(param ...

  4. WebGoat系列实验Buffer Overflows & Code Quality & Concurrency

    WebGoat系列实验Buffer Overflows & Code Quality & Concurrency Off-by-One Overflows 实验需要访问OWASP Ho ...

  5. bit byte的关系

    字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit)  一个字的字长为2个字节=2*8=16 一个字节 ...

  6. HTML与CSS入门经典(第9版)试读 附随书源码 pdf扫描版​

    HTML与CSS入门经典(第9版)是经典畅销图书<HTML与CSS入门经典>的最新版本,与过去的版本相同,本书采用直观.循序渐进的方法,为读者讲解使用HTML5与CSS3设计.创建并维护世 ...

  7. php 过滤掉多维数组空值

    //过滤掉空值 function filter_array($arr, $values = ['',[]]){ foreach ($arr as $k => $v) { if (is_array ...

  8. ThinkPHP3.2.3完整版创建前后台入口文件 http://jingyan.baidu.com/article/7e4409533fc1092fc1e2ef53.html

    ThinkPHP3.2.3完整版创建前后台入口文件   1 2 3 4 5 6 7 分步阅读 ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的优秀的国产php框架,值得我们去探索学 ...

  9. poj1222(枚举or高斯消元解mod2方程组)

    题目链接: http://poj.org/problem?id=1222 题意: 有一个 5 * 6 的初始矩阵, 1 表示一个亮灯泡, 0 表示一个不亮的灯泡. 对 (i, j) 位置进行一次操作则 ...

  10. git pull 命令

    作用:取回远程主机某个分支的更新,再与本地的指定分支合并 格式:git pull  <远程主机名> <远程分支名>:<本地分支名> 1. 如果与当前分支合并,则可省 ...