【发布时间】:2016-01-17 09:30:35
【问题描述】:
如何将十六进制值转换为字符串?我使用以下方法得到了这个奇怪的结果。
例如:
String result = DB_record.convertHexToString(PASSWORD);
// c53255317bb11707d0f614696b3ce6f221d0e2f2 hex value;
System.err.println("result==="+result);
Java
public String convertHexToString(String hex){
StringBuilder sb = new StringBuilder();
StringBuilder temp = new StringBuilder();
for( int i=0; i<hex.length()-1; i+=2 ){
//grab the hex in pairs
String output = hex.substring(i, (i + 2));
//convert hex to decimal
int decimal = Integer.parseInt(output, 16);
//convert the decimal to character
sb.append((char)decimal);
temp.append(decimal);
}
return sb.toString();
}
输出
【问题讨论】:
-
您给出的示例(在@Michal 的帖子 cmets 中)表明您实际上是在保存到数据库之前对文本进行加密。您将需要对其进行解密以获取原始文本。十六进制字符串如何帮助?而且,如果是这样的话,这个问题就太不清楚了,无法回答。