主页 > imtoken官方首页 > 区块链数据签名_区块链验证工具
区块链数据签名_区块链验证工具
imtoken官方首页 2023-05-13 06:53:01
区块链数据签名_区块链验证工具BTC的消息签名机制是使用私钥对一条信息进行签名下载btc区块数据,然后使用公钥对签名进行验证。 该机制可用作验证消息真实性的手段。 这里使用 bitcoinj 库 /***@parammsgInformation 实现的实现 'org.bitcoinj:bitcoinj-core:0.14.7' 对消息进行签名以签名 *@paramprivateKey私钥...
大家好,我是建筑先生,一个会写代码会吟诗的架构师。 今天说说blockchain_blockchain验证工具的数据签名下载btc区块数据,希望能帮助大家进步!!!
BTC的消息签名机制是使用私钥对一条信息进行签名,然后使用公钥对签名进行验证。 该机制可用作验证消息真实性的手段。 这里是使用 bitcoinj 库实现的。
实施'org.bitcoinj:bitcoinj-core:0.14.7'
签署消息
/** * @param msg 要签名的信息 * @param privateKey 私钥 * @return */
public static String signMsg(@NonNull String msg, @NonNull String privateKey) {
NetworkParameters networkParameters = null;
if (!BTC_TEST_NET)
networkParameters = MainNetParams.get();
else
networkParameters = TestNet3Params.get();
DumpedPrivateKey priKey = DumpedPrivateKey.fromBase58(networkParameters, privateKey);
ECKey ecKey = priKey.getKey();
return ecKey.signMessage(msg);
}
只听见建筑师办公室传来建筑师的声音:
肥油轻匀,金箅腻蓝烟纸淡。 有谁会配上联或下联吗?
验证签名消息
此代码由Java架构师必看网-架构君整理
/** * @param msg 明文 * @param signatureMsg 签名好的信息 * @param pubkey 公钥 * @return */
public static boolean verifyMessage(@NonNull String msg, @NonNull String signatureMsg, @NonNull String pubkey) {
boolean result = false;
ECKey ecKey = ECKey.fromPublicOnly(Utils.HEX.decode(pubkey));
try {
ecKey.verifyMessage(msg, signatureMsg);
result = true;
} catch (SignatureException e) {
result = false;
e.printStackTrace();
} finally {
return result;
}
}