java中十六进制数_Java中的十六进制到整数
我正在尝试将String十六进制转换为整数。从哈希函数(sha-1)计算出十六进制字符串。我收到此错误:java.lang.NumberFormatException。我猜它不喜欢十六进制的String表示形式。我该如何实现。这是我的代码:
public Integer calculateHash(String uuid) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA1");
digest.update(uuid.getBytes());
byte[] output = digest.digest();
String hex = hexToString(output);
Integer i = Integer.parseInt(hex,16);
return i;
} catch (NoSuchAlgorithmException e) {
System.out.println("SHA1 not implemented in this system");
}
return null;
}
private String hexToString(byte[] output) {
char hexDigit[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F' };
StringBuffer buf = new StringBuffer();
for (int j = 0; j < output.length; j++) {
buf.append(hexDigit[(output[j] >> 4) & 0x0f]);
buf.append(hexDigit[output[j] & 0x0f]);
}
return buf.toString();
}
例如,当我传递以下字符串: _DTOWsHJbEeC6VuzWPawcLA时 ,他的哈希值是:
0xC934E5D372B2AB6D0A50B9F0341A00ED029BDC15
但是我得到了:java.lang.NumberFormatException:对于输入字符串:“
0xC934E5D372B2AB6D0A50B9F0341A00ED029BDC15 ”
我真的需要这么做
我有一个由其UUID标识为字符串的元素的集合。我将必须存储这些元素,但是我的限制是使用整数作为其id。这就是为什么我计算给定参数的哈希值然后将其转换为int的原因。也许我做错了,但是有人可以给我建议以正确实现这一目标!!
谢谢你的帮助 !!
java中十六进制数_Java中的十六进制到整数相关推荐
- java 数据类型分为_JAVA中分为基本数据类型及引用数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...
- java有道_java中的各种流(老师的有道云笔记)
内存操作流-字节 之前的文件操作流是以文件的输入输出为主的,当输出的位置变成了内存,那么就称为内存操作流.此时得使用内存流完成内存的输入和输出操作. 如果程序运行过程中要产生一些临时文件,可采用虚拟文 ...
- java mod %区别_Java中 % 与Math.floorMod() 区别详解
%为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...
- java synchronized 使用_Java中Synchronized的用法
synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...
- java synchronized静态_Java中Synchronized的用法(简单介绍)
简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...
- java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...
- java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- java中组合_java中组合模式详解和使用方法
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式, ...
- java 序列化实例_Java中的序列化与反序列化实例
创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...
- java 代码锁_Java中的Lock锁
Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...
最新文章
- Android 6.0 以及HttpClient
- Python零碎知识(3):对文件的基本操作
- 如何写python脚本抓取数据并计算_【小工具】利用Python脚本从Gaussian计算结果中提取信息...
- 垃圾回收机制的优点和原理
- matlab的yalmip为什么这么慢,Yalmip问题请教
- Linux或者Mac解压乱码问题
- java实验册_Java实验报告册Java实验报告册.doc
- 作者:王亚楠(1988-),男,中国科学院昆明植物研究所科学数据库管理员
- python画布位置_如何调整tkinter画布的位置
- PHP类中Static方法效率测试
- 通过Google分析页面加载缓慢并优化
- asp.net ashx处理程序中switch case的替代方案总结
- java编码什么时候需要增加空格_Java编码规范之声明和空白,空格
- 微信二维码扫码登录的原理
- 平谷php,平谷区行政区划_行政区划网(区划地名网) www.xzqh.org
- SOFA BOLT源码解析之设计要点-网络IO
- easyui datagrid deleteRow(删除行)的BUG或者updateRow值更新了不展示问题
- 【Android Camera开发】Android Automotive介绍
- Angular $injector:unpr Unknown provider 问题原因汇总
- C语言 线程的回收与子线程返回值的接收
热门文章
- 十亿级别的MySQL数据库表(InnoDB存储引擎),旧数据清理的蹩脚方案。
- kdev-ruby 停止开发,原 maintainer 转用其它编辑器
- 液相色谱柱PHP,浅谈液相色谱柱现代史
- PTX-NPs 纳米粒子修饰紫杉醇/与桦木酸PEG/邻硝基苯丙酸紫杉醇偶联物的制备
- azw3格式的电子书在kindle中怎么打开
- uboot 启动 linux ----2 ----set setevn saveenv 命令 保存介质
- Local time zone must be set-see zic manual page
- QFP封装芯片手工焊接和拆卸技巧
- Linux regulator
- 在微型计算机中,ram的特点是___.,2017计算机基础模拟试题「附答案」