Java Base64 加密解密 (数据加密或解决手机Emoji表情被数据库过滤掉的问题)

来源:互联网 发布:linux赋予用户组权限 编辑:程序博客网 时间:2024/05/17 02:09

1、最适合应用场景:

h5或者android开发中通常会遇到一种场景,当用手机输入法输入Emoji表情符的时候,由于数据库不支持,保存时这些表情符号就会被过滤掉以至于无法显示,android和h5开发中可以使用Base64算法解决这个问题。

2、使用工具:

使用Apache commons codec 类Base64

3、引入jar包:

加入jar包依赖(如果是maven项目就直接在pom文件中加入下边内容,若不是就加入对应jar包)


<dependency>    <groupId>commons-codec</groupId>    <artifactId>commons-codec</artifactId>    <version>1.6</version></dependency>


4、加密解密实现:


import org.apache.commons.codec.binary.Base64;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.UnsupportedEncodingException;/** * 将String类型的字符串进行base64编码与解码,使用utf-8 */public class Base64Util {    private static final Logger logger = LoggerFactory.getLogger(Base64Util.class);    /**     * 对给定的字符串进行base64加密     */    public static String 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;    }  /**     * 对给定的字符串进行base64解密     */    public static String 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;    }}


原创粉丝点击