首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP的Ed25519曲线上验证公钥?(核实Solana地址)

如何在PHP的Ed25519曲线上验证公钥?(核实Solana地址)
EN

Stack Overflow用户
提问于 2022-05-18 05:12:30
回答 1查看 407关注 0票数 1

当我们从客户端接收到Solana地址(Ed25519公钥)时,构建服务器端实现来对合同进行Solana验证。他们只想让我使用本地PHP方法,没有导入,idk为什么。开源库仍然很有帮助,因为我可以尽我最大的努力从它中提取一些片段。我确实可以访问这里的所有libsodium PHP\Sodium库方法:https://www.php.net/manual/en/book.sodium.php (我认为这允许我们做Ed25519)

这是JS:https://solana-labs.github.io/solana-web3.js/classes/PublicKey.html#isOnCurve中的实现

我在PHP中需要这个。换言之:

如何在PHP中验证Solana地址(如AJXw4EJtRBGswEestiD3gztdbsAh8fe3VSJXs6U33UBv)?同样,如何验证公钥是否在Ed25519曲线上?

提前感谢!我通常不会在StackOverflow上发表文章,但我希望随着Web3的不断发展,这个答案将是有用的。

EN

回答 1

Stack Overflow用户

发布于 2022-05-18 15:12:11

看起来,您最好的选择是尝试sodium_crypto_sign_ed25519_pk_to_curve25519并在失败时捕获异常,即:

代码语言:javascript
复制
        try {
            $_ = sodium_crypto_sign_ed25519_pk_to_curve25519($pubkeyBinaryString);
            return true;
        } catch (SodiumException $exception) {
            return false;
        }

https://github.com/verze-app/solana-php-sdk/blob/ab97975d4588fd759c63f7967caee1a5401cb2fe/src/PublicKey.php#L187中解除的代码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72283492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档