在 Javascript 和 PHP 之间匹配 MD5 原始输出



我正在尝试找到一个md5-js库,它将返回相当于PHP的md5函数的原始哈希输出。我在这里要做的是:

在 PHP 中:

echo base64_encode(md5('city', true)); // returns TtXS6u0aH63MQa0dWO1gPg==
// here setting the second parameter as true means md5 will return the raw out which is something like N������A�X�`>

在javascript中,我使用了两个npm包。一个用于 md5,另一个用于 Base64 编码。以下是库:

  1. https://www.npmjs.com/package/blueimp-md5
  2. https://www.npmjs.com/package/js-base64n

JS代码行如下:

console.log('city: ', Base64.encode(md5('city', null, true))) // returns TsOVw5LDqsOtGh/CrcOMQcKtHVjDrWA+ 

为什么两个结果不相同?我正在尝试在 Javascript 中找到一个解决方案,它将返回与 php 相同的结果。

在 PHP 中: 1. 在 PHP 中,我们使用 MIME base64 对数据进行编码。 2. MIME(多用途互联网邮件扩展(base64 用于对 base64 中的字符串进行编码。 3.base64_encoded数据比原始数据多占用33%的空间。

在 JavaScript 中: 1. Base64 是一组类似的二进制到文本编码方案,通过将二进制数据转换为基数 64 表示形式来表示 ASCII 字符串格式的二进制数据。 2. 每个 Base64 数字正好代表 6 位数据,这意味着 3 个字节因此可以用 4 位 6 位 Base64 数字表示 3. 我们可以使用 btoa(( 和 atob((

最新更新