在Java或C中附加两个十六进制长值
我正在用Java实现SHA-2算法。然而,我遇到了一个问题。我需要在一个十六进制值中附加两个十六进制值,但我无法这样做。我尝试将这两个字符作为字符串追加,并使用Long.parseLong(appendedString)
,但这会导致数字格式异常。我可以用Java做这个吗?如果没有的话,在C中是否有这样做的方法,我将在C中实现它?谢谢你的阅读
以下是代码:
String temp = h[0] + "" + h[1]; //Where h[0] and h[1] are two hex values stored as Long
//I also tried String temp = String.valueOf(h[0]) + String.valueOf(h[1]); but no dice
Long appended = Long.parseLong(temp); //Number format exception here
当我说append时,我的意思是:0x6a09e667+0xbb67ae85=0x6a09e667bb67ae85
# 1 楼答案
0x6a09e667 + 0xbb67ae85
给出了无效的0x6a09e6670xbb67ae85
。请尝试以下代码: