首页

定义CrypterUtil工具类进行数组转16进制字符串、16进制字符串转数组处理代码示例

标签:CrypterUtil,加密工具类,数组转16进制字符串、16进制字符串转数组     发布时间:2018-08-08   

一、前言

关于定义CrypterUtil转码工具类,进行数组转16进制字符串byteArr2HexStr处理、16进制字符串转数组hexStr2ByteArr处理,详情参见代码示例。

二、代码示例

public class CrypterUtil {@b@	/**@b@	 * 数组转16进制字符串@b@	 * @param arrB@b@	 * @return@b@	 * @throws Exception@b@	 */@b@	public  static String byteArr2HexStr(byte[] arrB) throws Exception { @b@		int iLen = arrB.length;@b@		// 每个byte用两个字符才能表示,所以字符串的长度是数组长度的两倍@b@		StringBuffer sb = new StringBuffer(iLen * 2);@b@		for (int i = 0; i < iLen; i++) {@b@			int intTmp = arrB[i];@b@			// 把负数转换为正数@b@			while (intTmp < 0) {@b@				intTmp = intTmp + 256;@b@			}@b@			// 小于0F的数需要在前面补0@b@			if (intTmp < 16) {@b@				sb.append("0");@b@			}@b@			sb.append(Integer.toString(intTmp, 16));@b@		}@b@		// 最大128位@b@		String result = sb.toString();@b@//		if(result.length()>128){@b@//			result = result.substring(0,result.length()-1);@b@//		}@b@		return result;@b@	}@b@	@b@	/**@b@	 * 16进制字符串转数组@b@	 * @param strIn@b@	 * @return@b@	 * @throws Exception@b@	 */@b@	public  static byte[] hexStr2ByteArr(String strIn) throws Exception {@b@		byte[] arrB = strIn.getBytes();@b@		int iLen = arrB.length;@b@@b@		// 两个字符表示一个字节,所以字节数组长度是字符串长度除以2@b@		byte[] arrOut = new byte[iLen / 2];@b@		for (int i = 0; i < iLen; i = i + 2) {@b@			String strTmp = new String(arrB, i, 2);@b@			arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16);@b@		}@b@		return arrOut;@b@	}@b@}