gpt4 book ai didi

java - BitcoinJ 和消息验证

转载 作者:行者123 更新时间:2023-11-30 08:00:09 32 4
gpt4 key购买 nike

给定三条信息:消息(字符串)、签名(字符串)和公共(public)地址(字符串),我想验证签名。在 Javascript、Python 和 PHP 库中,这是一个简单的方法调用。然而,在 BitcoinJ (Java) 中,我无法想出一个简单的解决方案或示例。

首先,我只想验证签名。 BitcoinJ 有点过分了,但它是我能找到的唯一的 Java 库。它似乎也没有直接的方法调用来满足我的需要。有一个方法调用需要公钥,但我有公共(public)地址。网络上的讨论表明公钥可以来自签名。然而,这似乎并不像听起来那么简单。 Java 也需要字节而不是字符串。听起来很容易,但努力却没有效果。我找不到任何例子。

那么有人可以为我提供一个使用上述三条信息在 Java(BitcoinJ 或其他)中进行简单消息验证的示例吗? TIA!

最佳答案

发布我自己的答案:

String loginSig = ""; // base64 encoded signature
String pubAddress = ""; // bitcoin public address
String message = "Hello World";

ECKey result = new ECKey().signedMessageToKey(message, loginSig);

if (pubAddress.equals(result.toAddress(NetworkParameters.prodNet()).toString())) {
// success!
}

关于java - BitcoinJ 和消息验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32085117/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com