![](/img/trans.png)
[英]How to convert A string that represents an integer to unsigned byte array in Java?
[英]How to convert byte array to unsigned 128 bit integer in Java?
我正在嘗試使用MD5哈希字符串。 我需要在Java中將哈希值作為128位無符號整數。
MessageDigest md = MessageDigest.getInstance("MD5");
String toHash = "HashThis";
md.update(toHash.getBytes());
byte[] isHashed = md.digest();
如何將isHashed轉換為整數?
使用BigInteger
。
BigInteger value = new BigInteger(isHashed);
為確保結果值為正(因為字節數組預期為2的補碼),請確保最高有效位為零。 這可以通過使數組1元素更大(第一個字節為0)來輕松實現。
Java沒有128位int類型。 但是它有一個BigInteger類,該類具有一個構造函數,該構造函數可以根據需要采用信號和大小表示為byte []。
BigInteger value=new BigInteger(1,isHashed);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.