MD5哈希值不同

萨姆帕斯

在sql server上:输出: 0x5C8C8AAFE7AE37EA4EBDF8BFA01F82B8

SELECT HASHBYTES('MD5', convert(varchar,getdate(),112)+'mytest@+')

在JavaScript上:输出: 5c8c8aafe7ae37ea4ebdf8bfa01f82b8

        //to get Md5 Hash bytes
        vm.getMd5Hashbytes = function () {
            var currentDate = moment().format('YYYYMMDD');
             var md5Hash = md5.createHash(currentDate + 'mytest@+');
             return md5Hash;
        }

angular-md5模块

问:你能告诉我为什么会有这种不同吗?SQL Server显示0x为前缀。为什么?

伊戈尔

我不知道还有什么其他解释方式,但是它将占用比评论所允许的更多的空间,因此我将其发布为答案。

查看您正在引用源代码在最后(第210和212行),您会看到它将二进制值转换为十六进制字符串(然后转换为小写,除非您选择在末尾进行字符串比较,否则这无关紧要)。最终结果=您的JavaScript库使用string格式为十六进制的类型返回表示形式

HASHBYTES另一方面,您的Sql函数会生成varbinary类型化的结果(该类型与string(varchar)的类型不同)。

因此,您有2种不同的数据类型(每种类型都生活在自己的空间中,因为您还没有拉到另一种)。您永远不会提到要在哪里进行比较,即:在数据库上还是从数据库拉到脚本。两种比较方式都需要转换一种类型,因此您要比较两种字符串类型或比较两种二进制类型。如果不比较相似的类型,将会得到意外的结果或运行时异常。

如果要在JavaScript中使用字符串AND进行比较,则请查看您所引用的库,该库已经有一个名为的调用wordToHex,将其复制并粘贴并重用以将Sql结果转换为字符串,然后进行字符串比较(忘记比较不区分大小写的字母或将其设为小写)。


编辑

WebApi对我来说是黑匣子,它是第三方服务,我只需要如上所述发送安全令牌即可。

假设该Web api接受的类型byt[]将附加0x到javascript中的字符串中,然后将其发送到该Web api,如在该Web api中那样工作,然后将传入的参数转换为字节数组,并使用正确的类型执行比较。由于这是一个黑匣子,除非您询问他们接受的类型是否确实是字节数组或对其进行测试,否则无法确定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中的MD5文件哈希函数返回不同的值?

来自分类Dev

不同数组的Javascript MD5哈希产生相同的值

来自分类Dev

MD5哈希值不同于Bash和PHP

来自分类Dev

PHP 和 C# 中不同的 MD5 哈希值

来自分类Dev

MD5散列不同的值

来自分类Dev

MD5返回不同的哈希码-Python

来自分类Dev

NodeJS使用crypo计算MD5哈希的结果不同

来自分类Dev

修改zip文件的md5哈希值的最快方法

来自分类Dev

从GitHub版本中哪里获得MD5哈希值?

来自分类Dev

ubuntu .iso的MD5哈希值(14.04至18.10)

来自分类Dev

修改zip文件的md5哈希值的最快方法

来自分类Dev

AWS无法计算Android的MD5哈希值

来自分类Dev

为什么网站提供文件的 MD5 哈希值?

来自分类Dev

SQL Server - 比较大量的 MD5 哈希值

来自分类Dev

MD5哈希转换

来自分类Dev

生成MD5哈希

来自分类Dev

为什么同一文件的两个tarball的md5哈希值不同?

来自分类Dev

为什么我的命令行哈希与在线MD5哈希结果不同?

来自分类Dev

PHP MD5(MD5)哈希

来自分类Dev

PHP MD5(MD5)哈希

来自分类Dev

MD5对于相同的输入返回不同的值

来自分类Dev

如果MD5哈希本身也可能被操纵了,那么MD5校验和的值是多少?

来自分类Dev

MD5结果不同

来自分类Dev

MD 5哈希值的不同取决于技术

来自分类Dev

SQL配置单元-MD5哈希

来自分类Dev

在Elixir中哈希MD5

来自分类Dev

用char []生成MD5哈希

来自分类Dev

MD5哈希加密和解密

来自分类Dev

MD5哈希套管问题