packagecn.hawk.bluetoothlib.utils;importandroid.util.Log;importcom.clj.fastble.utils.HexUtil;importjava.math.BigInteger;importjavax.crypto.Cipher;importjavax.crypto.spec.SecretKeySpec;/*** Created by kehaowei on 2017/10/27.*/
public classHexHelper {/*** 数字转16进制字符串
*@paraminput
*@return
*/
public staticString number2HexStr(String input) {
String output= "";if (input.length() % 2 != 0)
input+= "0";int count = input.length() / 2;for (int i = 0; i < count; i++) {
String sub= input.substring(i * 2, i * 2 + 2);int num =getIntSafely(sub);
output+=int2Hex(num);
}returnoutput;
}/*** 16进制字符串转数字
*@paraminput
*@return
*/
public staticString hexStr2number(String input) {
String output= "";if (input.length() % 2 != 0)
input+= "0";int count = input.length() / 2;for (int i = 0; i < count; i++) {
String sub= input.substring(i * 2, i * 2 + 2);int temp = hexChar2int(sub.substring(0, 1)) * 16 + hexChar2int(sub.substring(1, 2));if (temp < 10) {
output+= "0" +temp;
}else{
output+= temp + "";
}
}returnoutput;
}/*** 16进制字符串转10进制
*@paraminput
*@return
*/
public static inthexStr2Int(String input) {int output = 0;int count =input.length();for (int i = 0; i < count; i++) {
String sub= input.substring(i, i + 1);int temp = (int) (hexChar2int(sub) * Math.pow(16, count - 1 -i));
output+=temp;
}returnoutput;
}/*** 16进制字符串转10进制
*@paraminput
*@return
*/
public static longhexStr2Long(String input) {long output = 0;int count =input.length();for (int i = 0; i < count; i++) {
String sub= input.substring(i, i + 1);long temp = (long) (hexChar2int(sub) * Math.pow(16, count - 1 -i));
output&