gpt4 book ai didi

图像的 Javascript md5 哈希与 Java 进行比较

转载 作者:行者123 更新时间:2023-11-29 05:41:17 25 4
gpt4 key购买 nike

我从 javascript 得到的哈希与从 java 得到的哈希不同......我希望有人能解释并帮助纠正这个问题。

历史我正在尝试从移动应用程序连接到第三方。我不得不将他们的 java api 重写为 javascript,这导致了一些翻译问题。其中一个问题是他们需要一个图像的数据数组和该图像的 md5 散列来进行比较。在 Java 中,当我使用他们的代码时,我得到的哈希与我在 javascript 中做同样的事情时不同。

在java中,代码:

byte[] decodedString = Base64.decode(testimg,  Base64.DEFAULT);

MessageDigest md = MessageDigest.getInstance("MD5");
md.reset();
md.update(decodedString);

byte[] array = md.digest();

创建一个散列:ad5e3cdf9174167243ded0e329a37cf6

javascript 中的相同内容给出:8bd54f4d1c4800e3df9cdd2aee728ded

var decodedstr = window.atob(testimg);
var hashString = MD5(decodedstr);

在 javascript 中,我不能像 java 那样传递字节数组,但字节值应该相同(尽管 java 将它们显示为无符号)

如何在 javascript 中更改我的图像数组以创建相同的散列并仍然拥有正确的图像?

最佳答案

终于明白了!感谢大家的帮助和评论。对于偶然发现此问题的任何其他人:最终在以下位置找到了一个 MD5 脚本:http://blog.faultylabs.com/?d=md5这将允许我传入一个 arraybuffer 并解决它。

或者至少,给了我想要的结果,听起来好像使用 javascript 的尝试和错误要多得多,因为一切的处理方式都与其他语言略有不同。

再次感谢。

关于图像的 Javascript md5 哈希与 Java 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com