免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2326 | 回复: 2
打印 上一主题 下一主题

请问java里面有没有这样的函数? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-01 19:07 |只看该作者 |倒序浏览
就像 c 里面的strtol 和strtoll,
比如strtol("6b391735e7630429e70dd25295e12667");
      strtoll("6b391735e7630429e70dd25295e12667");

都能得到一个数值;

可是如果用java 的 Long.parseLong("6b391735e7630429e70dd25295e12667");

就抛出异常了java.lang.NumberFormatException


请问java里面有没有strtol和strtoll类似功能的函数??

论坛徽章:
0
2 [报告]
发表于 2009-04-01 20:08 |只看该作者
你确认用C的那个函数可以得到一个“数值”类型的东西?

那个字符串看起来像是一个16进制的整数。如果是16进制的话,那串字符串的值将会有16个字节长。C/C++/Java都不会在语言级上支持16个字节的整形数的吧。

可以试试看java.math.BigInteger(String val, int radix)

论坛徽章:
0
3 [报告]
发表于 2009-04-02 10:00 |只看该作者
原帖由 liuex 于 2009-4-1 20:08 发表
你确认用C的那个函数可以得到一个“数值”类型的东西?

那个字符串看起来像是一个16进制的整数。如果是16进制的话,那串字符串的值将会有16个字节长。C/C++/Java都不会在语言级上支持16个字节的整形数的吧。 ...



C 和 C++确实可以得到一个很大的数,AIX的开发包strtoimax函数就是包装了strtol和strtoll函数;


其实我是想翻译一个算法,这个算法是在 c 上实现的;
现在我想把他移植到java上;
这个算法就是把一串报文按照md5算法得到一个digest[16],然后根据这个digest得到一个大的整数,然后再去加密.....

现在就卡在这个digest转大整数这里了;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP