as3crypto 的 sha1 哈希值与 PHP 生成的哈希值不同

2024-03-23

使用 as3 中的 as3crypto 从字符串“12345”生成 SHA1 哈希,与示例中的操作方式相同:

var sha1:SHA1 = new SHA1;
var src:ByteArray = Hex.toArray("12345");
var digest:ByteArray = sha1.hash(src);
trace('SHA:' + Hex.fromArray(digest));

结果:ec60c0fd70d82a7785f6c9a02dbe16f2e40b1344

在 PHP 中使用相同的字符串生成 SHA1:

print "SHA:".sha1("12345");

结果:8cb2237d0679ca88db6464eac60da96345513964

如果我尝试其他工具来获取哈希值,我会得到第二个结果,因此看起来 PHP 的结果是正确的。

问题:如何使用 as3crypto 获得相同的哈希值?

顺便说一句:在测试时,我发现使用 as3crypto 的另一种方法给了我另一个(错误?)结果:

var src:ByteArray = new ByteArray();
src.writeUTF("12345");
var digest:ByteArray = sha1.hash(src);
trace('SHA:' + Hex.fromArray(digest));

结果:b98cfbc53daec4029895585ab198f7403d0d0506


十六进制(您使用 Hex.toArray 转换它)值 12345 与字符串“12345”不同。

您正在转换一个小数 to a 十六进制字节数组并对它进行哈希处理,然后将其与字符串的哈希值在 PHP 中生成。这些永远不会匹配。

如果您确实需要比较两个十六进制数,那么像这样对 PHP 进行更改可能应该可行。

打印“SHA:”。 sha1(dechex(12345));

有关更多信息,请参阅 dechex PHP 文档。 http://www.php.net/manual/en/function.dechex.php

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

as3crypto 的 sha1 哈希值与 PHP 生成的哈希值不同 的相关文章

随机推荐

  • 使用 cron 防止 Bash 脚本并行或重叠运行

    如果我的 cron 表中有以下条目 00 03 java prog1 sh 00 5 java prog2 sh 第一份工作通常需要 30 分钟左右才能完成 第二项工作大约需要10分钟 在某些特殊情况下 第一份工作需要两个多小时 有没有办法
  • jquery 和 updatepanel?

    我在 ASP NET 中有一个更新面板 可以进行部分页面刷新 我使用 jQuery 取得了一些成功on 方法不过 document ready function 仅在页面初始加载期间调用 而不是在每次 updatepanel 刷新后调用 我
  • 如何在 C++ 调试期间冻结 VSCode 中的线程

    我已经使用 VSCode 进行编码几个月了 真的是太棒了 然而 我发现我无法冻结一个线程 我能做的就是Pause all threads and Continue all threads 如果不冻结特定线程 则很难调试多线程程序 尤其是一些
  • 为什么 v1 Web 组件 customElements.define() 会抛出 TypeError

    我正在使用 v1 Web 组件 根据埃里克 比德尔曼 Eric Bidelman 的说法自定义元素 v1 可重用的 Web 组件 https developers google com web fundamentals primers cu
  • 将常规 Swift 函数转换为 Curry 函数

    我正在尝试将常规函数转换为咖喱函数 但得到Execution was interrupted 下面是我柯里化一个函数并执行 unsafeBitCast 来调用带有一个参数的函数并稍后使用第二个参数调用它的代码 func curry
  • 当“状态”从“打开”更改为“已完成”时,如何将一行移动到工作表(GOOGLE SHEET)的底部

    当 状态 更改为完整时 如何将行移动到同一张纸的底部 我试图找出一旦 Status B 列值从 OPEN 更改为 CLOSED 时如何将行移动到底部 工作表名称为 Sheet1 其中状态下拉菜单位于 B 列 下拉菜单包含 OPEN HOLD
  • libv4l2:打开流时出错:设备上没有剩余空间

    我尝试为 opencv 获取立体声对 我将 Logitech B910 和 Logitech C910 网络摄像头连接到 USB 但有这个错误 我玩弄了怪癖参数并设置outfmt mjpeg在mplayer中 但又出现此错误 在哪里可以找到
  • theano 给出“...正在等待未知进程的现有锁...”

    我的代码运行良好 但是 现在我收到一条错误消息 Using gpu device 0 GeForce GT 750M WARNING theano gof cmodule ModuleCache refresh Found key with
  • Python Pandas 混合布尔 Yes/True 和 NaN 列

    我正在学习健康科学课程 推荐使用 R 或 Stata 我正在尝试使用 Python Numpy Pandas 来代替 因为我希望将来使用它来进行金融时间序列分析 数据是 Stata 格式 所以我复制了字段并将它们保存为CSV 所有字段导入都
  • R Shiny - 多页可编辑数据表在编辑后跳转到第 1 行

    我正在使用 R 3 3 1 Shiny v 1 2 0 和 v DT 0 5 开发一个 Shiny 应用程序 其中一个元素是跨多个页面的可编辑数据表 在我进行编辑后 焦点行会跳转到第 1 行 这会破坏用户体验 以下是使用下面的代码片段重现此
  • 使用 Chrome 将 HTML 填充到 about: URL 中

    以前 在 Internet Explorer 中 您可以在 URL 栏中输入以下内容 about 屏幕会变成红色 Chrome 中是否有等效的 heredoc 语法用于通过 URL 加载 HTML 也许是数据 URI data text h
  • 在 Docker Compose 中执行 /bin/bash

    我正在尝试自动化 docker compose 文件 我想做一些初步任务 例如更新源代码 构建库并自动运行bash只需调用容器上的终端即可docker compose up 有没有办法做到这一点 我尝试执行以下操作 version 3 3
  • KSQL - 删除主题

    有没有办法从 KSQL 中删除该主题 根据github https github com confluentinc ksql blob 4 0 x ksql engine src main java io confluent ksql dd
  • 为什么我无法在 Flutter ModalBottomSheet 中滚动自定义 WebView

    大家好 有人知道为什么我无法在 ModalBottomSheet 中垂直滚动 WebView 吗 这是我的代码 如果有任何问题请告诉我或给我一些建议 showModalBottomSheet context context isScroll
  • 在 Fabric 中作为 sudo 执行

    我有一个命令service app start demo需要我输入sudo service app start demo在命令行中 I used sudo service app start demo and sudo sudo servi
  • Flutter setState 改变,但不重新渲染

    我创建了一个简单的屏幕 它接受字母列表并将它们呈现在网格中 我有一个带有随机播放方法的按钮 可以随机播放此列表 在我的构建方法中 我看到状态正在使用新列表进行更新 并且每次按下按钮时都会打印出一个随机列表 但屏幕不会改变 class Let
  • 有没有一种方法可以在不添加 throws 声明的情况下抛出异常?

    我有以下情况 我有一个 Java 类 它继承自另一个基类并重写一个方法 基本方法不会抛出异常 因此没有throws 宣言 现在我自己的方法应该能够抛出异常 但我可以选择 吞掉异常或 添加抛出声明 两者都不令人满意 因为第一个会默默地忽略异常
  • Microsoft Edge,媒体查询无法正常工作

    我在 Google Chrome 上成功测试了此媒体查询 但不知何故 Microsoft Edge 存在问题 这些查询有问题吗 或者这只是 Microsoft Edge 中的一个错误 UPDATE 看起来 Edge 需要一个没有媒体查询的类
  • 查找背包中的物品

    我想用C 递归地解决背包问题 这是我的代码 public int f int n int remain if n lt 0 return 0 if w n gt remain Thread VolatileWrite ref check n
  • as3crypto 的 sha1 哈希值与 PHP 生成的哈希值不同

    使用 as3 中的 as3crypto 从字符串 12345 生成 SHA1 哈希 与示例中的操作方式相同 var sha1 SHA1 new SHA1 var src ByteArray Hex toArray 12345 var dig