【发布时间】:2018-11-30 22:09:36
【问题描述】:
我需要将一段python翻译成Java,但是当我做一个SHA哈希时,我没有像Python一样的结果,有字符串:
$&).6CXzPHw=2N_+isZK2908069825
//Java 代码
private static byte[] getSHA1(byte[] input) throws NoSuchAlgorithmException {
MessageDigest msdDigest = MessageDigest.getInstance("SHA-1");
msdDigest.reset();
msdDigest.update(input, 0, input.length);
System.out.println(DatatypeConverter.printHexBinary((msdDigest.digest())));
return msdDigest.digest();
}
// Python 代码
print(sha1(prefix + str(num4).encode('ascii')).digest())
也许字节类型有区别?? 有任何想法吗 ? 谢谢
【问题讨论】:
-
你用的是什么代码?你得到什么结果?你期待什么结果?
-
大卫说的,让我们看看Python和Java的代码,输入和输出。
-
对不起,我现在把代码放在问题里了
-
prefix是什么? -
删除打印语句。调用摘要是破坏性的,你调用它两次 - 你从方法返回的值不正确
标签: java python cryptography sha1