文档章节

BASE64加密、解密示例

满风
 满风
发布于 2016/04/13 10:11
字数 358
阅读 46
收藏 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));
    }
}



© 著作权归作者所有

共有 人打赏支持
满风

满风

粉丝 89
博文 169
码字总数 174060
作品 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之间的控...

舒龙虎
09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

中国龙-扬科
25分钟前
2
0
使用vuex的state状态对象的5种方式

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。 下面给大家来贴一下我的vuex的结构 下面是store文件夹下的state.js和index.js内容 //state.jsconst state =...

peakedness丶
29分钟前
2
0
NetCore MVC Demo

地址:http://114.116.9.72:5411

whltian
36分钟前
1
0
Netty handle方法周期 (四)

写了一个练习之后,发现自定义的助手类每次肯定是必须的,对于不同的业务逻辑需求,会写相对应的逻辑 最简单的查看Handle生命周期的方式,就是重写上级方法,看名字差不多应该可以知道方法的作用 ...

_大侠__
41分钟前
9
0
vue主动刷新页面及列表数据删除后的刷新实例

1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷新的 2.采用window.reload(),或者...

前端小攻略
51分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部