文档章节

BASE64加密、解密示例

满风
 满风
发布于 2016/04/13 10:11
字数 358
阅读 54
收藏 0
package com.dy.encryption;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

/**
 * 按 照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。
 * BASE64的加密解密是双向的,可以求反解。
 * 常见于邮件、http加密,截取http信息,你就会发现登录操作的用户名、密码字段通过BASE64加密的.
 * BASE64 严格地说,属于编码格式,而非加密算法
 */
public class BASE64Demo {
    /**
     * BASE64解密
     *
     * @param key
     * @return
     * @throws Exception
     */
    public static String decryptBASE64(String key) throws Exception {
        return new String(new BASE64Decoder().decodeBuffer(key));
    }

    /**
     * BASE64加密
     *
     * @param key
     * @return
     * @throws Exception
     */
    public static String encryptBASE64(String key) throws Exception {
        return new BASE64Encoder().encode(key.getBytes());
    }

    public static void main(String[] args) throws  Exception{
        /**
         * 主要就是BASE64Encoder、BASE64Decoder两个类,我们只需要知道使用对应的方法即可。
         * 另,BASE加密后产生的字节位数是8的倍数,如果不够位数以=符号填充。
         */
        String text="主要就是BASE64Encoder、BASE64Decoder两个类,我们只需要知道使用对应的方法即可。" +
                "BASE加密后产生的字节位数是8的倍数,如果不够位数以=符号填充。";
        String encrypt = BASE64Demo.encryptBASE64(text);
        System.out.println("base64加密后的密文:"+encrypt);
        System.out.println("base64解密后的明文:"+BASE64Demo.decryptBASE64(encrypt));
    }
}



© 著作权归作者所有

满风

满风

粉丝 91
博文 171
码字总数 174418
作品 0
杭州
技术主管
私信 提问
冬日/AesEncrypt

#AesEncrypt:Aes加密/解密示例项目   附件中的“AesEncrypt.zip”是本项目的exe文件,可直接下载下来运行和查看。   高级加密标准(英语:Advanced Encryption Standard,缩写:AES),...

冬日
2016/08/05
0
0
使用Apache commons-codec Base64实现加解密

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

音希
2014/02/13
0
0
C#实现网络传输数据加密

分组密码 分组密码是将明文消息编码表示后数字序列划分成长为n的分组,各组分别在密钥的作用下进行变换输出等长的数字序列,即密文。一次加密一个数据组,加解密所使用的是同一密钥,故其通常...

鱼煎
2016/06/25
32
0
php的加密函数 md5,crypt,base64_encode 等使用介绍

php 在做注册、登录或是url 传递参数时都会用到 字符变量的加密,下面我们就来简单的介绍下:php 自带的加密函数 不可逆的加密函数为:md5()、crypt() md5() 用来计算 MD5 哈稀。语法为:str...

Junn
2013/01/24
0
0
前端加密JS库--CryptoJS 使用指南

Base64 编码为什么要编码?由于一些网络通讯协议的限制, 又或者是出于信息加密的目的, 我们就需要将原信息转换为base64编码,然后才能进行传输.例如,发送某些含有 ASCII 码表中0到31之间的控...

舒龙虎
2018/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序和百度小程序开发的一些不同点

1: initActive从onload放到onready中 2: bindtap='{{childTickeData.freeadd?"childticket":""}}',语法错误。会导致页面加载不出来,而且也不报任何错。 3:使用搬家工具,支付api名称转换......

醉雨
5分钟前
0
0
最近执行过的SQL语句查询

SELECT TOP 1000 ST.text AS '执行的SQL语句' , QS.execution_count AS '执行次数' , QS.total_elapsed_time / 10000 AS '耗时' , QS.total_logical_reads AS '逻辑读取次数' , QS.total_lo......

神手--追魂
7分钟前
0
0
从濒临解散到浴火重生,OceanBase 这十年经历了什么?

阿里妹导读:谈及国产自研数据库,就不得不提 OceanBase。与很多人想象不同的是,OceanBase 并非衔着金钥匙出生的宠儿。相反,它曾无人看好、困难重重,整个团队甚至数度濒临解散。 从危在旦...

阿里云官方博客
10分钟前
0
0
阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案...

阿里云云栖社区
27分钟前
1
0
使用Redis SETNX 命令实现分布式锁

基于setnx和getset http://blog.csdn.net/lihao21/article/details/49104695 使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。 SETNX命令简介 命令格式 SETNX key value 将 ke...

彬彬公子
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部