java中各种编码工具类和加密算法
2016-02-26 00:00
375 查看
封装各种格式的编码解码工具类.
* 1.Commons-Codec的 hex/base64 编码
* 2.自制的base62 编码
* 3.Commons-Lang的xml/html escape
* 4.JDK提供的URLEncoder
Hex编码解码.
Base64编码解码
Base64编码, URL安全(将Base64中的URL非法字符'+'和'/'转为'-'和'_', 见RFC3548).
Base62编码
Html 转码解码.
Xml 转码解码
URL 编码解码, Encode默认为UTF-8.
================================================
不得不佩服下面链接的仁兄,各种加密算法整理的着实详尽
各种java 加密算法:http://www.open-open.com/lib/view/open1397274257325.html
* 1.Commons-Codec的 hex/base64 编码
* 2.自制的base62 编码
* 3.Commons-Lang的xml/html escape
* 4.JDK提供的URLEncoder
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | public class Encodes { private static final String DEFAULT_URL_ENCODING = "UTF-8" ; private static final char [] BASE62 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" .toCharArray(); /** * Hex编码. */ public static String encodeHex( byte [] input) { return Hex.encodeHexString(input); } /** * Hex解码. */ public static byte [] decodeHex(String input) { try { return Hex.decodeHex(input.toCharArray()); } catch (DecoderException e) { throw Exceptions.unchecked(e); } } /** * Base64编码. */ public static String encodeBase64( byte [] input) { return Base64.encodeBase64String(input); } /** * Base64编码, URL安全(将Base64中的URL非法字符'+'和'/'转为'-'和'_', 见RFC3548). */ public static String encodeUrlSafeBase64( byte [] input) { return Base64.encodeBase64URLSafeString(input); } /** * Base64解码. */ public static byte [] decodeBase64(String input) { return Base64.decodeBase64(input); } /** * Base62编码。 */ public static String encodeBase62( byte [] input) { char [] chars = new char [input.length]; for ( int i = 0 ; i < input.length; i++) { chars[i] = BASE62[((input[i] & 0xFF ) % BASE62.length)]; } return new String(chars); } /** * Html 转码. */ public static String escapeHtml(String shtml) { return StringEscapeUtils.escapeHtml4(shtml); } /** * Html 解码. */ public static String unescapeHtml(String htmlEscaped) { return StringEscapeUtils.unescapeHtml4(htmlEscaped); } /** * Xml 转码. */ public static String escapeXml(String xml) { return StringEscapeUtils.escapeXml(xml); } /** * Xml 解码. */ public static String unescapeXml(String xmlEscaped) { return StringEscapeUtils.unescapeXml(xmlEscaped); } /** * URL 编码, Encode默认为UTF-8. */ public static String urlEncode(String part) { try { return URLEncoder.encode(part, DEFAULT_URL_ENCODING); } catch (UnsupportedEncodingException e) { throw Exceptions.unchecked(e); } } /** * URL 解码, Encode默认为UTF-8. */ public static String urlDecode(String part) { try { return URLDecoder.decode(part, DEFAULT_URL_ENCODING); } catch (UnsupportedEncodingException e) { throw Exceptions.unchecked(e); } } } |
Base64编码解码
Base64编码, URL安全(将Base64中的URL非法字符'+'和'/'转为'-'和'_', 见RFC3548).
Base62编码
Html 转码解码.
Xml 转码解码
URL 编码解码, Encode默认为UTF-8.
================================================
不得不佩服下面链接的仁兄,各种加密算法整理的着实详尽
各种java 加密算法:http://www.open-open.com/lib/view/open1397274257325.html
相关文章推荐
- Java Web层框架比较—— 比较JSF、Spring MVC、Struts2
- Java中的Copy-On-Write容器
- 四、Java 安装
- spring+websocket整合(springMVC+spring+MyBatis即SSM框架和
- java的环境搭建
- Java中对象的初始化
- JAVA WEB
- Ivy 在eclipse里的配置
- java线程安全
- java对象引用以及对象赋值
- java垃圾回收机制
- java内存分配分析/栈内存、堆内存
- 图片灰度化原理与实现(java)
- spring+websocket整合(springMVC+spring+MyBatis即SSM框架和
- Dandelion - Eclipse Lisp Plugin
- JAVA语法基础 4
- Mybatis的Spring配置
- Java Web开发技术应用——过滤器
- Eclipse安装SVN教程
- mac下配置jsp开发环境——jdk安装及配置