文档章节

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));
    }
}



© 著作权归作者所有

共有 人打赏支持
满风

满风

粉丝 83
博文 165
码字总数 175959
作品 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
冬日/AesEncrypt

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

冬日
2016/08/05
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之间的控...

舒龙虎
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
32分钟前
1
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
55分钟前
2
0
Spring MVC之RequestMappingHandlerMapping匹配

对于RequestMappingHandlerMapping,使用Spring的同学基本都不会陌生,该类的作用有两个: 通过request查找对应的HandlerMethod,即当前request具体是由Controller中的哪个方法进行处理; 查...

爱宝贝丶
59分钟前
2
0
Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
今天
2
0
Redis源码阅读笔记-对象及其类型和编码

总结之《Redis设计与实现》 对象 Redis中是使用对象来便是数据库中的键和值。 结构 // server.h...#define LRU_BITS 24...typedef struct redisObject { unsigned type:4; ...

Jian_Ming
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部