在 PHP 中实现 secp256k1 (ECDSA)(针对比特币)[关闭]

2023-12-29

对于热心的反对者和/或结束者:如果您认为这对 SO 来说是题外话,请向我指出其他 StackExchange 网站,在该网站上这个问题会更合适。


如何实现ECDSA曲线secp256k1 in PHP?

或者更确切地说:有没有解决方案 - 即。包含的专业课程 - 已经完成了吗?

我可以看到有很多开源库、类和可用于其他语言(JavaScript、Python...)的东西,但我刚刚花了整个下午的时间在谷歌上搜索一些/任何 PHP 解决方案......nothing!.

这是我的一个比特币项目我需要一种如何从私钥生成公钥的方法 ... 然后我想生成最终的比特币地址.

我知道如何生成私钥(不要担心它是否随机 - 这不是问题)并且我有 256 位十六进制和 WIFE 表示法。但下一步:提出一个公钥然后最后比特币地址,对我来说是一个问题,因为我的密码学背景几乎为零,而且我知道解决方案是以某种方式利用 secp256k1 。

这是我到目前为止所拥有的:

// Random bytes
// $private_key = bin2hex(openssl_random_pseudo_bytes(32));
// But using brainwallet.org style to have easy comparison
$passphrase = "correct horse battery staple";
$private_key = hash('sha256', $passphrase);
var_dump ("PrivKey: $private_key");
// Bitcoin::privKeyToWIF from github.com/mikegogulski/bitcoin-php
$wif = Bitcoin::privKeyToWIF($private_key); 
var_dump ("WIF PrivKey: $wif");
// And now I don't know where to even start ...

tl;dr 如何在 PHP 中实现这个? (..and 私钥->公钥之前的转换)

https://i.stack.imgur.com/U2neg.png https://i.stack.imgur.com/U2neg.png

我知道关于...

  • http://github.com/mikegogulski/bitcoin-php http://github.com/mikegogulski/bitcoin-php..这非常简洁,并且有很多有用的方法和控制方式bitcoind通过 RPC,但不幸的是纯 PHP 方法可以处理私钥->公钥机制缺失。
  • http://bitcoinphp.com/ http://bitcoinphp.com/..我在那里找不到它。
  • PHP 中的 openssl 扩展,但不幸的是,OPENSSL-PHP 文档提到的唯一摘要方法是“ecdsa-with-SHA1”,如果我错了请纠正我,但我需要“ecdsa-with-SHA256”或类似的东西(? )
  • 我什至尝试将算法从比特币js.js,但凭借我的加密知识,我无法提取任何内容的要点。我根本不明白那些曲线和它们的位运算以及其他令人毛骨悚然的东西。

我正在寻找纯 PHP 解决方案。我不是在寻找使用 shell 运行 bitcoind,然后解析 JSON 来获取密钥对,然后...

为什么没有一段代码可以完全用 PHP 处理这个问题?或者有吗? :)


None

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

在 PHP 中实现 secp256k1 (ECDSA)(针对比特币)[关闭] 的相关文章

  • Doctrine 生成实体命名空间问题?

    好吧 我对原则有最后一个问题 生成 实体命令 我运行以下命令 并得到预期的文件 src MyNamespace Bundle MyNamespaceBundle Resources config doctrine metadata orm
  • 关闭旧的 php websocket

    我在用PHP Websockets https github com ghedipunk PHP Websockets创建一个简单的聊天服务器 当我第一次运行在我的服务器上创建 websocket 的 php 脚本时 一切正常 如果脚本由于
  • 在 PHP 中设置通知的 FCM 通道 ID

    我正在尝试使用 PHP 向 Android 设备发送 FCM 通知 我的代码适用于 Android O 之前的设备 在Android O中 我们还需要在请求中设置通道ID来接收通知 我不知道该怎么做 我已在应用程序中完成了必要的设置 并使用
  • 如何使用 php 创建谷歌双因素身份验证?

    我想在我的 PHP 项目中使用 Google 2FA 用户登录时需要输入6位2fa代码 您可以画出一些关于该朝哪个方向走的提示吗 步骤 1 创建长度为 16 个字符的唯一密码 PHPGangsta 为 Google Authenticato
  • 在仅包含键的字符串的嵌套数组中查找值

    我有一个数组 其中包含一些设置 基本上如下所示 defaults array variable gt value thearray gt array foo gt bar myvar gt array morevars gt moreval
  • 是否需要使用fetch_object或fetch_array?

    我最近发现我可以打印数据库中的结果而不使用mysqli fetch object功能 例如 假设我们有一个简单的 sql select 语句 可以使用如下所示的语句来执行 conn mysqli connect localhost root
  • 下拉 Ajax onchange SonataAdminBundle Symfony2 问题

    我正在尝试在 SonataAdminBundle 中实现 onchange 下拉菜单 我的实体就像 class BuilderHomePage var integer ORM Column name id type integer null
  • 如何记录 Doxygen 中不存在的变量?

    例如 我在配置文件中定义了 theme 全局变量 Doxygen 不处理该变量 但我想记录下来 我尝试这样做 var theme brief Active theme 但没有成功 您可以创建一个 doxygen 特定文件来记录变量 例如 配
  • 禁用选择标签内的一个选项值在 IE6Ha 中不起作用[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个包含 4 个值 a b c d 的选择框 我只想禁用下拉列表中的 c 我使用了禁用属性 它在所有浏览器中都有效 但在 IE6
  • MySQL:如何获取上次更新的更改

    我正在使用 MySQL 和 PHP 开发数据库应用程序 此时我正在尝试获取上次更新引起的更改 我解决问题的第一个方法是 使用 SELECT 获取 旧 状态 使用 UPDATE 进行更改 使用 SELECT 获取 新 状态 将数组与 php
  • 使用 Mail_Mime 发送附件到 GMail,收到“noname”附件

    我有一个非常简单的网站表单 可以包含附件 它使用 gmail 的 smtp 发送到 gmail 地址 一切工作都很好 除了文件以 noname 形式到达 没有文件名或扩展名 如果您下载附件并使用正确的文件名重命名它 则该文件可以正常打开 我
  • Laravel 5 未找到“App\Carbon\Carbon”类

    我最近run sudo composer update 现在在我的一个页面上 我不断得到 我确实用过 now Carbon Carbon now America New York in line 792 on my Helper php M
  • 根据 WooCommerce 中的特定付款方式添加费用

    在 WooCommerce 中 我需要为特定支付网关申请自定义手续费 我这里有这段代码 如何向 WooCommerce Checkout 添加手续费 http www endocreative com add handling fee wo
  • 解析 PHP 多维数组

    这里 下面给出 是我正在做的一些非常简单的 php 解析多维数组的事情 我只是搜索 突出显示 键 然后将一些键值对存储在另一个数组中 有没有更好的方法来实现这一点 我的意思是关于性能 而不是有 n 个 foreach 循环来达到你想要的效果
  • 将文本中的所有 URL 替换为 PHP 中的可点击链接[重复]

    这个问题在这里已经有答案了 我有一个用 PHP 编写的 Web 应用程序 我想找到用户评论中的所有 URL 并将它们更改为可点击的链接 我搜索了很多网站和页面 找到了以下解决方案 不幸的是我没有再次找到它的参考链接 感谢其作者 该代码可以完
  • 使用 dockerfile 在 docker 中安装 mongodb 驱动

    我有一个 mongodb docker 容器 我需要另一个安装了 php 和 apache 的 docker 容器 我想从这个容器运行一个 php 脚本并将一些数据发送到 mongodb 容器以将数据保存在 mongodb 数据库中 所以我
  • 在 MySQL 表中存储用户密码的最佳 PHP 哈希方法?

    我已经阅读 Stack Overflow 问题大约 15 分钟了 每一个问题似乎都与我之前读到的问题相矛盾 Bcrypt SHA1 MD5 等 我目前对我的密码进行 MD5 但我想让我的数据库在发生泄露时更加安全 我知道这个问题已经被问了一
  • 需要初学者 PHP 帮助

    我学习 PHP 一段时间了 我想要一个澄清 我见过preg match使用不同的分隔符号调用函数 例如 preg match and preg match 今天我还看到了 正在使用 我的问题分为两部分 所有字符都可以使用什么 有一个标准吗
  • 如何捕获生成器抛出的异常并恢复迭代?

    我有一个生成器 它将值的集合传递给方法并生成结果 调用的方法可能会返回异常 发生这种情况时 我希望异常转到调用生成器来处理异常的代码 然后继续循环生成器 为了说明这一点 下面是一个生成器的示例 它将产生1 抛出一个 Exception 然后
  • PHP UTF-8 配置

    我正在使用 PHP 5 3 5 配置 Apache 2 2 17 服务器 我的目标是创建一个默认为内容类型的干净配置UTF 8 php ini default charset UTF 8 default mimetype applicati

随机推荐

  • 将 Informix 游标转换为 MSSQL 游标

    我在 Informix 数据库中有一个游标 它是函数的一部分 我想将其转换为 MS SQL 中的游标 下面是代码 DECLARE select distinct agentname agentloginid from selected ag
  • 在 Javascript 中按大写字母分割

    我正在尝试使用 Javascript 按大写字母拆分字符串 我正在尝试做的事情的例子 HiMyNameIsBob gt Hi My Name Is Bob GreetingsFriends gt Greetings Friends 我知道s
  • 子视图控制器如何使用Parentviewcontroller中定义的方法

    我遇到的情况是 子视图控制器尝试显示多个视图控制器 并且在执行该操作时 子视图控制器需要从父视图控制器访问播放暂停操作方法 如何实现这一点 子视图控制器可以使用在父视图控制器中定义的播放暂停操作方法 该方法用于暂停音频播放器 暂停计时器和暂
  • 访问另一个项目的设置文件

    有没有办法从不同的项目访问设置文件 例如 我有一个包含 2 个项目的解决方案 我们称它们为 Proj1 和 Proj2 我想从 Proj1 中的 Program cs 访问 Proj2 的应用程序设置 这可能吗 如果您使用 C 答案是 非常
  • 无法加载资源:服务器响应状态为 503(服务不可用) favicon.ico

    我正在尝试通过 Heroku 部署我的 Node JS 站点 但不断收到此错误 无法加载资源 服务器响应状态为 503 服务不可用 favicon ico 我四处搜索并认为我应该添加以下内容到我的标题 但是我仍然收到此错误 有任何想法吗 这
  • Django-allauth:注册时发送欢迎电子邮件(无需验证)

    如何向注册 django 应用程序 使用 django allauth 的用户发送欢迎电子邮件 如果我设置ACCOUNT EMAIL VERIFICATION mandatory 它工作正常 用户会收到一封验证电子邮件 但由于我不需要任何电
  • 制作动画时,如何仅在所有元素完成时才触发回调?

    在 jQuery 中制作动画时 仅当所有元素完成动画而不是每个元素时才触发回调的最佳实践是什么 例如 someElements fadeOut fast function dont do this until ALL elements ar
  • 为什么 std::is_rvalue_reference 不做它所宣传的事情?

    例如 如果我有 include
  • Laravel 数组验证

    我有这样的要求 GET http example com test q 1 q 2 q 3 我有这条路线 Route get test function Request req req gt validate q gt array 我应该如
  • SQL查询不显示第一个结果?

    我正在尝试在我的 php 页面中动态创建导航菜单 我有一个查询来创建活动页面列表 但由于某种原因 第一个结果从未显示 menu mysql query SELECT link FROM myTable WHERE active page y
  • webpack模块解析失败意外字符'@'

    我正在使用 vue cli 在 main js 中导入 css 文件后 import Vue from vue import App from App vue import element ui lib theme default inde
  • iOS 推送通知类型选项?警报与横幅?

    我读过这里的帖子 建议让推送通知显示为警报而不是横幅的唯一方法是单个最终用户更改Alert Style in the Notifications应用程序的部分Settings 让我困惑的是 有些应用程序默认为Alerts风格 而不必这样做
  • 正则表达式的意外匹配

    我期望正则表达式模式ab 2 c仅匹配a后跟 0 1 或 2bs 随后是c 许多语言都以这种方式工作 例如 Python 然而 在 R 中 grepl ab 2 c c ac abc abbc abbbc abbbbc 1 TRUE TRU
  • 使用数据注释将字段标记为“只读”

    我正在努力使ID字段只读 它是数据库中的一个身份字段 因此用户不会设置它 不过 他们还是愿意看到 当分配给一个时 我缺少什么如下DataForm仍然允许编辑该值 public class StatusChoice BindableBase
  • 使用 Selenium 保存整页内容

    我想知道保存 Selenium 访问站点时检索到的所有文件的最佳方法是什么 换句话说 当 Selenium 访问时http www google com http www google com我想保存 HTML JavaScript 包括
  • 如何在windows中通过命令提示符方式设置文件权限?

    如何通过命令提示符方式在windows中设置相同的文件权限 gt attrib Displays or changes file attributes ATTRIB R R A A S S H H drive path filename S
  • 处理器架构不匹配构建错误

    在尝试运行测试应用程序时 我收到以下错误两次 正在构建的项目 MSIL 的处理器架构与参考 C Windows Microsoft NET Framework v4 0 30319 mscorlib dll x86 的处理器架构之间存在不匹
  • 如何在 google-app-engine 中使用内置的 django templatetags

    我正在尝试在内置模板标签中使用 Django 例如标记和 在我的谷歌应用程序中人性化 但它不起作用 我在 INSTALLED APPS 中添加了标记和人性化 还是行不通 如何使用它 这是人性化的方法 其他应该类似 在调用模板的控制器末尾有一
  • 从 iOS 设备上传图像到服务器

    我正在尝试在远程服务器上上传图像 如果我从谷歌下载手机上的图像并上传它们 例如http www mangauk com gallery albums album 11 lg scooby jpeg http www mangauk com
  • 在 PHP 中实现 secp256k1 (ECDSA)(针对比特币)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 对于热心的反对者和 或结束者 如果您认为这对 SO 来说是题外话 请向我指出其他 StackExchange 网站 在该网站上这个问题会更