TRON Developer Hub CN

TRON开发者中心

欢迎来到TRON开发者中心。您将找到全面的指南和文档,以帮助您尽快开始使用TRON Developer Hub,并在遇到困难时提供支持。让我们跳进去吧!

Get Started    

签名验证

trident-java提供了通过交易id和签名消息来验证签名正确性的方法,用于广播交易之前的离线验证。

签名验证的原理

在已知交易发起者(contract owner)地址的情况下,通过签名消息逆推公钥(recover),并将公钥转换为地址,与发起者地址进行比较。如果地址一致,即为验证成功。

验证签名的方法

验证方法需要三个参数:

  • 交易id(即交易哈希,通过Transaction.rawData计算SHA256得到)

  • 签名消息(即Transaction.signature

  • 发起者地址(即Transaction.rawData.contract.parameter.ownerAddress,其中parameter的类型是com.google.protobuf.Any,需要根据具体交易类型来进行unpack操作)

签名验证方法能接收两种类型的参数:byte[]String

//parent function
public static boolean verify(byte[] txid, byte[] signature, byte[] owner)
  
public static boolean verify(String txid, String signature, String owner)

如果返回true即为验证成功。

Updated about a month ago

签名验证


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.