【问题标题】:errors, incorrect values when comparing sha512 as3, with vb.net将 sha512 as3 与 vb.net 进行比较时出现错误、错误值
【发布时间】:2013-03-01 07:21:11
【问题描述】:

我一直在测试一个 sha512 类。我需要从 flash cs5 中的字符串生成散列,但我需要它来匹配由 asp.net(vb) 生成的散列。它似乎在字符串的某处添加了一个零,我不知道为什么。

这些是我正在使用的文件:Porting SHA512 Javascript implemention to Actionscript

在本例中,散列字符串是名称“Karla”

example (asp.net)// ** 括号显示差异在哪里** C4DB628AD520AFF7308ED19E91635E8E24A6C7CFD4DB2F71BBE2FA6CD63770B315A839143037BB9DB16784C0BDCEB622ECAA4077D4D8867374D5023

(as3)

C4DB628AD520AFF7308ED19E91635E8E24A6C7CFD4DB2F71BBE2FA6CD63770B315A839143037BB9DB16784C0BDCEB622ECAA4077D4D8(17087)D5023E86734748

在我提供的链接中添加了以下信息,但我认为它与我需要的内容无关,我认为我不使用 hmac,只是一个直字符串哈希,但是,当我在 vb.net 中执行此操作时,我首先从字符串中获取字节,我有字节。

感觉as3代码在sha512类中自动转换了字符串?

希望有人也遇到过这个问题。

感谢您对此的任何帮助。

【问题讨论】:

    标签: actionscript-3 cryptography


    【解决方案1】:

    这些哈希值都不正确。字符串“Karla”的正确 SHA512 哈希是:

    C4DB628AD520AFF7308ED19E91635E8E24A6C7CFD4DB2F71BBE2FA6CD63770B315A839143037BB9DB16784C0BDCEB622ECAA4077D4D817087D5023E867347408
    

    但是,我敢打赌,AS3 哈希实际上是正确的——javascript 版本生成正确的哈希,see here——只是粘贴不正确。

    在计算哈希的两个地方,它包含字节 0x08,但在 ASP.NET 版本中,字节的高 4 位丢失了,它被附加到输出字符串中,就像 "8" 不是"08".

    基本上,您的 ASP.NET 哈希生成器正在丢弃小于 0x10 的数字——忽略前导零——并为您提供格式错误的哈希..

    另一种判断您的 ASP.NET 哈希有问题的方法是它只有 126 个字符(504 个十六进制编码位)长。

    【讨论】:

      猜你喜欢
      • 2021-09-15
      • 2017-08-05
      • 1970-01-01
      • 2014-10-23
      • 2016-02-07
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      相关资源
      最近更新 更多