【发布时间】:2016-02-21 05:14:28
【问题描述】:
当我进行签名编码时,我遇到了一个陌生的问题:
当我想重建一个字节数组时,它总是失败:
//digest is the original byte array
String messageHex = bytesToHex(digest);
byte[] hexRestore = messageHex.getBytes();
assert Arrays.equals(digest, hexRestore); //false!
String utf8Digest = new String(digest, "UTF8");
byte[] utf8Restore = utf8Digest.getBytes("UTF8");
assert Arrays.equals(digest, utf8Restore); //false!
然后我使用大整数:
BigInteger messageBig = new BigInteger(digest);
byte[] bigRestore = messageBig.toByteArray();
assert Arrays.equals(digest, bigRestore)); //true!
然后就可以了,不知道为什么,c
【问题讨论】:
标签: java encoding bytearray biginteger