API Java
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
BchainHashData.java

Exemplo de cálculo de hash blockchain (SHA256, KECCAK256, BTC H160 e Blake2b-256) com o módulo blockchain.

Veja Nota sobre os exemplos.
package doxy.examples;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class BchainHashData {
public static void main(String[] args) throws TacException {
String ip = "127.0.0.1";
String user = "master";
String password = "12345678";
Dinamo api = new Dinamo();
api.openSession(ip, user, password);
byte[] data = "Hello, Dinamo HSM!".getBytes();
// Calcula SHA256
byte[] sha256 = api.bchainHashData(TacNDJavaLib.DN_BCHAIN_HASH_SHA256, data);
System.out.printf("SHA256 (%d bytes): %s%n", sha256.length, toHex(sha256));
// Calcula KECCAK256 (usado em Ethereum)
byte[] keccak256 = api.bchainHashData(TacNDJavaLib.DN_BCHAIN_HASH_KECCAK256, data);
System.out.printf("KECCAK256 (%d bytes): %s%n", keccak256.length, toHex(keccak256));
// Calcula Bitcoin H160 (SHA256 seguido de RIPEMD160)
byte[] btcH160 = api.bchainHashData(TacNDJavaLib.DN_BCHAIN_HASH_BTC_H160, data);
System.out.printf("BTC H160 (%d bytes): %s%n", btcH160.length, toHex(btcH160));
// Calcula Blake2b-256
byte[] blake2b256 = api.bchainHashData(TacNDJavaLib.DN_BCHAIN_HASH_BLAKE2B256, data);
System.out.printf("Blake2b-256 (%d bytes): %s%n", blake2b256.length, toHex(blake2b256));
api.closeSession();
}
private static String toHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02X", b));
}
return sb.toString();
}
}