Java Base64 加密解密 (数据加密或解决手机Emoji表情被数据库过滤掉的问题)
2017-06-08 10:15
676 查看
1、最适合应用场景:
h5或者android开发中通常会遇到一种场景,当用手机输入法输入Emoji表情符的时候,由于数据库不支持,保存时这些表情符号就会被过滤掉以至于无法显示,android和h5开发中可以使用Base64算法解决这个问题。
2、使用工具:
使用Apache commons codec 类Base64
3、引入jar包:
加入jar包依赖(如果是maven项目就直接在pom文件中加入下边内容,若不是就加入对应jar包)
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;
}
}
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;
}
}
相关文章推荐
- 关于java过滤微信emoji表情的问题解决方法
- 解决emoji表情的数据库存取问题:Cause: java.sql.SQLException: Incorrect string value
- Java与.Net环境下RSA加密解密交互不成功的问题解决
- base64加密放入URL引发的问题解决,java.net.MalformedURLException:Illegal character in URL
- base64加密放入URL引发的问题解决,java.net.MalformedURLException:Illegal character in URL
- Java 解决Emoji表情过滤问题
- Java与.Net环境下RSA加密解密交互不成功的问题解决【续】
- java实现AES加密(解决中文解密后乱码问题,解决传输字符串后解密报错的问题)
- java base64编码 加密和解密(切记注意乱码问题)
- 通过Base64加密解密解决RSA中文解密乱码问题
- 【java】AES加密解密|及Base64的使用
- 加密解密时遇到的"不正确的数据"以及"要解密的数据长度无效"问题解决方案
- C#使用RSA私钥加密公钥解密的改进,解决特定情况下解密后出现乱码的问题
- Java访问数据库的速度瓶颈问题的分析及解决
- 【java】AES加密解密|及Base64的使用
- [转]在Java中实现.net中DataTable功能以及操作双数据库的List连接问题解决方案探究
- 通过base64编码解决java的webservice调用中文参数乱码问题
- Java BASE64加密解密
- Java访问数据库的速度瓶颈问题的分析及解决
- java中PreparedStatement解决需转义字符向数据库中插入时的转义问题