我试图找到一个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编码。下面是库:
JS代码行如下:
console.log('city: ', Base64.encode(md5('city', null, true))) // returns TsOVw5LDqsOtGh/CrcOMQcKtHVjDrWA+
为什么两个结果都不相同?我正在尝试找到Javascript解决方案,该解决方案将返回与php相同的结果。
答案 0 :(得分:0)
在PHP中: 1.在PHP中,我们使用MIME base64编码数据。 2. MIME(多用途Internet邮件扩展)base64用于在base64中编码字符串。 3. base64_encoded数据占用的空间比原始数据多33%。
在javascript中: 1. Base64是一组类似的二进制到文本编码方案,它们通过将ASCII格式的二进制数据转换为基数64表示形式来表示二进制数据。 2.每个Base64位数正好代表6位数据,因此3个字节可以由4个6位Base64位数表示。 3.我们可以使用btoa()和atob()