Java:字符串简单加密专成16进制在转回来
2010-12-10 16:30
435 查看
package com.happy.util;
public class UrlEncode {
/**
* convert String to Hex
*
* @param str
* @return
*/
public static String toHexString(String str) {
byte[] byStr = str.getBytes();
return parseArr(byStr);
}
/**
* convert Hex to String
* @param s
* @return
*/
public static String toStringHex(String s) {
byte[] byStr = new byte[s.length() / 2];
for (int i = 0; i < byStr.length; i++) {
try {
byStr[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(byStr, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}
private static String parseArr(byte[] byStr){
StringBuilder sb = new StringBuilder();
for (int i = 0; i < byStr.length; i++) {
sb.append("%" + Integer.toHexString(byStr[i]));
}
return sb.toString();
}
public static void main(String[] args) {
String str = "Happy";
System.out.println(UrlEncode.toHexString(str));
System.out.println(UrlEncode.toStringHex(UrlEncode.toHexString(str)));
}
}
public class UrlEncode {
/**
* convert String to Hex
*
* @param str
* @return
*/
public static String toHexString(String str) {
byte[] byStr = str.getBytes();
return parseArr(byStr);
}
/**
* convert Hex to String
* @param s
* @return
*/
public static String toStringHex(String s) {
byte[] byStr = new byte[s.length() / 2];
for (int i = 0; i < byStr.length; i++) {
try {
byStr[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(byStr, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}
private static String parseArr(byte[] byStr){
StringBuilder sb = new StringBuilder();
for (int i = 0; i < byStr.length; i++) {
sb.append("%" + Integer.toHexString(byStr[i]));
}
return sb.toString();
}
public static void main(String[] args) {
String str = "Happy";
System.out.println(UrlEncode.toHexString(str));
System.out.println(UrlEncode.toStringHex(UrlEncode.toHexString(str)));
}
}
相关文章推荐
- 【java】RC4加密转16进制获取长度为40的不重复优惠码字符串 【未优化版本】
- java读取文件以字节流的形式读取 然后转化为字节流数组,最后经过SHA1加密生成返回16进制字符串存入数据库
- 用java编写一个简单的字符串加密解密程序,将字符串分成若干行,实现字符串以一列一列读取,并还原之前输入的字符串。这里实现4行输出。
- 用Java实现的字符串简单加密
- 用Java实现的字符串简单加密
- Java实现的简单字符串加密工具
- java 简单的字节流与字符串的转换换 及加密与解密(对称)
- Java中将16进制字符串转换成汉字
- Java:如何使用Cipher类对字符串进行加密解密
- <转载>JAVA AES DES MD5 加密字符串
- Java 实现对字符串MD5值加密32位大写小写
- java 实现RSA 加密解密工具类及其内部简单流程
- java 如何将字节数组转换成16进制字符串表示
- JAVA里的字符串,String 类简单介绍
- Java简单实现对一串数字采用相应的加密策略后传输
- Java中byte与(16进制)字符串的互相转换
- Java字符串简单练习
- java wireshark 16进制复制的字符串转换字节数组
- java实现RSA+AES的简单加密解密
- Java 字符串,byte[],16进制的字符串互转