本文整理汇总了Java中org.ethereum.crypto.ECKey.sign方法的典型用法代码示例。如果您正苦于以下问题:Java ECKey.sign方法的具体用法?Java ECKey.sign怎么用?Java ECKey.sign使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.ethereum.crypto.ECKey
的用法示例。
在下文中一共展示了ECKey.sign方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: sign
import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
private String sign(String data, ECKey ecKey) {
byte[] dataHash = TypeConverter.stringHexToByteArray(data);
ECKey.ECDSASignature signature = ecKey.sign(dataHash);
String signatureAsString = signature.r.toString() + signature.s.toString() + signature.v;
return TypeConverter.toJsonHex(signatureAsString);
}
示例2: fallbackSign
import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
private byte[] fallbackSign(byte[] hash, ECKey privKey) {
ECKey.ECDSASignature signature = privKey.sign(hash);
byte vdata = signature.v;
byte[] rdata = signature.r.toByteArray();
byte[] sdata = signature.s.toByteArray();
byte[] vencoded = RLP.encodeByte(vdata);
byte[] rencoded = RLP.encodeElement(rdata);
byte[] sencoded = RLP.encodeElement(sdata);
return RLP.encodeList(vencoded, rencoded, sencoded);
}
示例3: encode
import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public PeerDiscoveryMessage encode(byte[] type, byte[] data, ECKey privKey) {
/* [1] Calc sha3 - prepare for sig */
byte[] payload = new byte[type.length + data.length];
payload[0] = type[0];
System.arraycopy(data, 0, payload, 1, data.length);
byte[] forSig = sha3(payload);
/* [2] Crate signature*/
ECKey.ECDSASignature ecdsaSignature = privKey.sign(forSig);
ecdsaSignature.v -= 27;
byte[] sigBytes =
merge(BigIntegers.asUnsignedByteArray(32, ecdsaSignature.r),
BigIntegers.asUnsignedByteArray(32, ecdsaSignature.s), new byte[]{ecdsaSignature.v});
// [3] calculate MDC
byte[] forSha = merge(sigBytes, type, data);
// wrap all the data in to the packet
this.mdc = sha3(forSha);
this.signature = sigBytes;
this.type = type;
this.data = data;
this.wire = merge(this.mdc, this.signature, this.type, this.data);
return this;
}
示例4: fallbackSign
import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
byte[] fallbackSign(byte[] hash, ECKey privKey) {
ECKey.ECDSASignature signature = privKey.sign(hash);
byte vdata = signature.v;
byte[] rdata = signature.r.toByteArray();
byte[] sdata = signature.s.toByteArray();
byte[] vencoded = RLP.encodeByte(vdata);
byte[] rencoded = RLP.encodeElement(rdata);
byte[] sencoded = RLP.encodeElement(sdata);
return RLP.encodeList(vencoded, rencoded, sencoded);
}
示例5: encode
import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public Message encode(byte[] type, byte[] data, ECKey privKey) {
/* [1] Calc keccak - prepare for sig */
byte[] payload = new byte[type.length + data.length];
payload[0] = type[0];
System.arraycopy(data, 0, payload, 1, data.length);
byte[] forSig = sha3(payload);
/* [2] Crate signature*/
ECKey.ECDSASignature signature = privKey.sign(forSig);
signature.v -= 27;
byte[] sigBytes =
merge(BigIntegers.asUnsignedByteArray(32, signature.r),
BigIntegers.asUnsignedByteArray(32, signature.s), new byte[]{signature.v});
// [3] calculate MDC
byte[] forSha = merge(sigBytes, type, data);
byte[] mdc = sha3(forSha);
// wrap all the data in to the packet
this.mdc = mdc;
this.signature = sigBytes;
this.type = type;
this.data = data;
this.wire = merge(this.mdc, this.signature, this.type, this.data);
return this;
}
示例6: sign
import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public void sign(byte[] privKeyBytes) throws MissingPrivateKeyException {
byte[] rawHash = this.getRawHash();
ECKey key = ECKey.fromPrivate(privKeyBytes).decompress();
this.signature = key.sign(rawHash);
this.rlpEncoded = null;
}
示例7: sign
import org.ethereum.crypto.ECKey; //导入方法依赖的package包/类
public void sign(ECKey key) throws MissingPrivateKeyException {
this.signature = key.sign(this.getRawHash());
this.rlpEncoded = null;
}