Go 和 PHP 中的 SHA256 给出不同的结果

2024-01-08

我正在尝试通过 HTTP 将 SHA256 哈希字符串发送到服务器,我想通过执行 SHA256 哈希并验证两个匹配来进行身份验证。出于测试目的,我使用相同的字符串,但是我的结果不匹配。这可能是我的 base64_encode 调用的默认编码方案吗?谢谢。

在 PHP 中我正在做:

$sha = hash("sha256", $url, true);
$sha = base64_encode(urlencode($sha));

在 Go 中我正在做

//convert string to byte slice
converted := []byte(to_hash)

//hash the byte slice and return the resulting string
hasher := sha256.New()
hasher.Write(converted)
return (base64.URLEncoding.EncodeToString(hasher.Sum(nil)))

一段时间后我就弄清楚了。我将两者标准化为十六进制编码。为了实现这一点,我将代码更改如下:

PHP:

$sha = hash("sha256", $url, false); //false is default and returns hex
//$sha = base64_encode(urlencode($sha)); //removed

Go:

//convert string to byte slice
converted := []byte(to_hash)

//hash the byte slice and return the resulting string
hasher := sha256.New()
hasher.Write(converted)
return (hex.EncodeToString(hasher.Sum(nil))) //changed to hex and removed URLEncoding
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go 和 PHP 中的 SHA256 给出不同的结果 的相关文章

  • php下拉菜单人口

    我正在尝试编写一个 php 脚本 该脚本将根据主下拉菜单的选择填充第二个下拉菜单 我想使用 jquery 来完成所有非页面刷新的事情 但我发现现有的所有东西都很难理解和修改 你知道有什么写得很好且易于理解的东西吗 或者可能是现有的教程 下面
  • mysqli bind_param 中的 NULL 是什么类型?

    我正在尝试将参数绑定到 INSERT INTO MySQLi 准备好的语句 如果该变量存在 否则插入 null 然后我知道 type variable i corresponding variable has type integer d
  • PHP cURL 在本地工作,在 AWS 服务器上出现错误 77

    最新更新 脚本作为管理员用户通过 SSH shell 作为 php script php 成功运行 当由 nginx 用户运行时 curl 命令无法执行 https 请求 所以我猜测这是nginx用户无法正确使用curl的问题 我已经检查了
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function
  • 有队列实现吗?

    任何人都可以建议使用 Go 容器来实现简单快速的 FIF 队列 Go 有 3 种不同的容器 heap list and vector 哪一种更适合实现队列 事实上 如果您想要的是一个基本且易于使用的 fifo 队列 slice 可以满足您所
  • jquery上传完成后重定向到新页面

    我正在尝试让这个 jquery 工具与我的网站一起使用以进行文件上传 https github com blueimp jQuery File Upload https github com blueimp jQuery File Uplo
  • 在 Laravel 中动态设置数据库连接和语言

    我有 3 个域指向同一个Laravel应用 我想要的是每个人都连接到自己的数据库并根据 TLD 加载自己的语言文件 我可以在哪个文件中设置这些设置 我可以直接在配置文件中执行此操作 或者可以在加载配置之前执行某些事件 我拥有的是一个简短的函
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • 重新排列数组键 php [重复]

    这个问题在这里已经有答案了 我有这个数组 Array 15 gt 13 1 16 gt Mark one answer 19 gt You see a car on the hard shoulder of a motorway with
  • “go.tools”的权限被拒绝错误

    当我尝试安装 go 工具时 我的权限被拒绝 usr local go pkg tool linux amd64 cover 我可以接受 因为它是 usr local 目录及需求root使用权 但我的第一个疑问是为什么当我设置时它试图安装在这
  • 如何解决 Laravel 8 UI 分页问题?

    我在尝试最近发布的 laravel 8 时遇到了问题 我试图找出变化是什么以及它是如何工作的 当我这样做时 我遇到了分页 laravel 8 UI 变得混乱的问题 不知何故它发生了 有人可以帮助我吗 或者经历过同样的事情 像这样我在 lar
  • 我怎样才能让这个脚本在 WordPress 上运行?

    我有这个脚本 document ready function text1 click function this hide 代码html div class div1 p class text1 text to appear when th
  • phpinfo 说 php.ini 路径是 C:\Windows 但那里没有 php.ini

    我们正在尝试从 PHP5 切换到 PHP7 现在我们已经安装了 Apache 并且 PHP 可以运行了 然而 我们在php ini文件没有任何作用 Via phpinfo 我们意识到原因是Configuration File php ini
  • PHP:在脚本完成之前获取输出

    我有一个名为 data php 的脚本 如下所示 do some stuff echo result do some other stuff eg database operations 我需要在另一个脚本中使用 data php 的输出
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • HTML 代码中的 PHP [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我用 HTML 代码编写了 PHP div div 但这出现在输出页面中 else print 我怎样才能让PHP执行 你的文件有一个 p
  • 谷歌日历手表过期时间超过1个月怎么办?

    我将我的 CRM 系统与 Google 日历同步 为此 我要求push notifications从我的用户 Google 日历到我的系统 我已经成功创建了手表 并将过期时间设置为2030年 但是当我收到手表事件的响应时 它显示手表的过期时
  • 直接从一个通道发送到另一个通道

    当从一个通道直接发送到另一个通道时 我偶然发现了令人惊讶的行为 package main import fmt func main my chan make chan string chan of chans make chan chan
  • 如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

    有谁知道如何使用配置文件 ebextensions 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展 我使用的是 64 位 Amazon Linux 2017 03 v2 4 0 运行 PHP 7 0 1

随机推荐

  • 在 pg-promise 中返回

    我使用所有查询创建了一个单独的文件pg promise节点模块 虽然对于大多数人来说我只是使用req res在查询之后 我想返回一个值 这是行不通的 它返回undefined passportLogin email gt db one SE
  • Interface Builder 项到底什么时候被实例化?

    假设我从 XCode4 中的模板创建一个基于导航的应用程序 那么 MainWindow xib 中将有一个导航控制器 它有一个子 RootViewController 到底什么时候会 RootViewController 的实例被创建吗 该
  • 使最后一个内联列表项扩展容器的剩余宽度

    我正在寻找一种方法来使最后一个内联列表项扩展其容器的其余部分 所以我有这样的东西
  • 使编译器/优化器能够制作更快的程序的编码实践

    许多年前 C 编译器还不是特别聪明 作为一种解决方法 K R 发明了register关键字 提示编译器 将此变量保留在内部寄存器中也许是个好主意 他们还制作了三级运算符来帮助生成更好的代码 随着时间的推移 编译器逐渐成熟 他们变得非常聪明
  • 数据表固定列(仅限右侧)问题

    我正在使用 JQuery Datatable 当我使用固定列时遇到了问题 它已经显示了两次我的固定栏 https i stack imgur com qlSCh png 我正在使用服务器端处理 这是我的代码 dataTable table
  • jQuery 在传递 POST 数据时在新选项卡中打开页面

    我有一个名为 list 的 JavaScript 变量 我需要将其作为 POST 数据发送到另一个页面并在新选项卡中打开该页面 存在 POST 数据 这段代码 jQuery post datadestination php list 发送数
  • Softmax 交叉熵损失爆炸

    我正在创建一个用于逐像素分类的深度卷积神经网络 我正在使用 adam 优化器 softmax 和交叉熵 Github 存储库 https github com dhasl002 Research DeepLearning I asked a
  • 如何使用 rspec 测试具有嵌套路由的控制器

    我使用 InherritedResource 创建控制器 class AppsController lt InheritedResources Base belongs to company Devise before filter log
  • 如何使用RxJava返回值?

    让我们考虑一下这种情况 我们有一些类 它有一个返回某个值的方法 public class Foo Observer
  • Netbeans 7.0 的 UML 插件?

    我如何安装 添加 UML 插件到 Netbeans 7 0 我可以找到多种安装插件的方法 但仅限于 6 9 的早期版本 http forums netbeans org topic28035 html http forums netbean
  • OS X Mavericks 上有 PostgreSQL 吗?

    我知道 OS X Mountain Lion 上安装了一个版本的 PostgreSQL 如果你想使用这个数据库引擎 你必须安装一个新版本并进行一些更改 http nextmarvel net blog 2011 09 brew instal
  • 对动态添加的文本使用内联 CKEditor

    我正在构建一个网络应用程序 它使用 javascript 动态地将元素添加到页面 然后可以使用进行编辑contentEditable true and CKEditor 目前 如果我向页面添加一个元素contentEditable true
  • 不使用 jQuery 添加到 DOM

    这应该很简单 但事实并非如此 document getElementsByTagName body 0 document createTextNode document createElement div some HTML div 它创建
  • 类名宏[重复]

    这个问题在这里已经有答案了 可能的重复 CLASSC 中的宏 https stackoverflow com questions 1666802 class macro in c 你好 有没有什么方法可以用宏来获取类的名称 比如 功能 对于
  • 无法覆盖 __call__ 的实现

    以此为例 class Foo object def init self msg self msg msg def call self return self msg foo Foo hello print foo Prints hello
  • 使用 Telnet 或 SSH 与 Perl 从本地计算机在远程计算机上运行 perl 脚本

    我想使用 telnet 或 ssh 在远程计算机上运行 Perl 脚本 该脚本位于我的本地主机上 如何执行此操作 有人可以帮我解决这个问题吗 如果由于某种原因您不想将脚本复制到远程主机然后运行它 您可以通过 stdin 将脚本发送到 Per
  • .NET 3.5 中的 FormsAuthentication.Timeout.TotalMinutes

    我刚刚使用 FormsAuthentication 我想要 Web 配置中表单身份验证标记的超时属性值 在 4 0 中 我们可以通过 FormsAuthentication Timeout TotalMinutes 获取此信息 参考 For
  • socket.io + node.js 的内存泄漏

    我的 Node js 应用程序似乎存在内存泄漏 我很快就构建了它 而且我的 JavaScript 不太强大 所以这可能很容易 我已经对它做了一些堆转储 它是字符串object 内存泄漏 速度约为每 5 分钟 1MB 我扩展了String 它
  • PHP MySQL 计数查询结果是字符串,而不是整数

    我有以下 MySQL 查询和 PHP 代码来格式化Count结果为单个数组 equalDimensions query SELECT allEqual AS COL1 COUNT AS imgCount FROM SELECT imgHei
  • Go 和 PHP 中的 SHA256 给出不同的结果

    我正在尝试通过 HTTP 将 SHA256 哈希字符串发送到服务器 我想通过执行 SHA256 哈希并验证两个匹配来进行身份验证 出于测试目的 我使用相同的字符串 但是我的结果不匹配 这可能是我的 base64 encode 调用的默认编码