现常见的对位进行加密的算法有_常见的加密和解密算法—BASE64

一、BASE64加密和解密概述

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

然而,标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。

为解决此问题,可采用一种用于URL的改进Base64编码,它不仅在末尾去掉填充的'='号,并将标准Base64中的“+”和“/”分别改成了“-”和“_”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。

BASE64 是对称的加密算法(PS:对称加密就是加密用的密码和解密用的密码是一样的,非对称就是加密和解密用的密钥不一样)

二、Java实现MD5加密解密

1、maven 引入apache的jar(不是maven项目,去网上下一个jar手动引入)

org.apache.commons

commons-lang3

3.3.2

2、MD5使用代码

packagecom.jd.test;importorg.apache.commons.codec.binary.Base64;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjava.io.UnsupportedEncodingException;/***

* BASE64 通用类

*

*@author浩令天下

*@since2017.04.15

*@version1.0.0_1

**/

public classBase64Util {private static final Logger logger = LoggerFactory.getLogger(Base64Util.class);/*** 对给定的字符串进行base64解码操作*/

public staticString decodeData(String inputData) {try{if (null ==inputData) {return null;

}return new String(Base64.decodeBase64(inputData.getBytes("utf-8")), "utf-8");

}catch(UnsupportedEncodingException e) {

logger.error(inputData, e);

}return null;

}/*** 对给定的字符串进行base64加密操作*/

public staticString encodeData(String inputData) {try{if (null ==inputData) {return null;

}return new String(Base64.encodeBase64(inputData.getBytes("utf-8")), "utf-8");

}catch(UnsupportedEncodingException e) {

logger.error(inputData, e);

}return null;

}/*** 测试入口

*

*@paramargs*/

public static voidmain(String args[]){

String encodeStr=Base64Util.encodeData("龙不吟,虎不啸");

System.out.println("encodeStr="+encodeStr);

String decodeStr=Base64Util.decodeData(encodeStr);

System.out.println("decodeStr="+decodeStr);

}

}

常见加密工具参考链接:


版权声明:本文为weixin_34634720原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。