我想将以下JS
代码翻译成Java
代码:
var key = new Bitcoin.ECKey(Crypto.util.hexToBytes(SHA256(password)));
var signed_challenge = Crypto.util.bytesToHex(key.sign(Crypto.util.hexToBytes(SHA256(challenge_key))));
这challenge_key
是所需的输出,必须发送回服务器。
我正在使用bitcoinj
这个。也许有人已经使用过它并且可以帮助如何构建 java 中的调用?我想出了以下内容,但不知道如何继续:
String password; //the private user pw
String challenge; //a string from the server
BigInteger privkey = new BigInteger(Hex.decode(Sha256Hash.create(password.getBytes()).toString()));
ECKey key = new ECKey(privkey);
key.sign(new Sha256Hash(challenge));
如果我所做的是正确的:如何从我签署的 ECkey 中取出 challange_key?