【发布时间】:2017-09-12 04:29:03
【问题描述】:
cookie 比较
::cfe3ca5d662b0252292d4da9e486430fded7311233aa31354997d626ac1cb98caacb16a34b458ab7bb60a9310790524e1f7ef090dfbcfa424e5a03632c1d89eb::..
给...::cfe3ca5d662b0252292d4da9e486430fded7311233aa31354997d626ac1cb98caacb16a34b458ab7bb60a9310790524e1f7ef090dfbcfa424e5a03632c1d89eb::
测试:假
console.log('test: ' + ( hash.digest('hex') === v ));
我检查了 typeof 是字符串,长度值是相同的,所以没有不可见的空格或特殊字符技巧。我已经尝试过 == 和 === 以及 valueOf 来确定。我尝试的任何方法都无法让 :: 标记之间的这两个字符串评估为相等或真。我不明白,我做JS已经有一段时间了。
【问题讨论】:
-
如果我将它们存储在单独的字符串中,它会返回 true。
-
这可能与字符串的编码有关吗?查看类似问题的答案:stackoverflow.com/a/10805884/6287910
-
您确定
hash.digest('hex')提供的正是您需要比较的字符串吗?您是否尝试将其转储到控制台进行调试? -
第二个字符串前面的省略号是不是错字...?
-
我使用 crypt sha 哈希函数以完全相同的方式导出它们,并最终得到相同的字符串,这些字符串使用我粘贴的上述代码进行评估。我也读过字符串的编码类型,我以同样的方式得到它们,所以这不应该是一个问题..如果你复制并粘贴上面的字符串,它们实际上就是它在 :: 之间输出的内容。这是生成它的实际脚本.. 搜索“测试”.. 两个位置都失败:pastebin.com/Qu8bcLng
标签: javascript