loadPublicKey function
return a publicKey from hex string
Implementation
ECPublicKey loadPublicKey(String storedkey) {
final param = ECCurve_sm2();
if (storedkey.length < 120) {
var code_list = <int>[];
for (var _idx = 0; _idx < storedkey.length - 1; _idx += 2) {
final hex_str = storedkey.substring(_idx, _idx + 2);
code_list.add(int.parse(hex_str, radix: 16));
}
final Q = param.curve.decodePoint(code_list);
return new ECPublicKey(Q, param);
} else {
final x = BigInt.parse(storedkey.substring(0, 64), radix: 16);
final y = BigInt.parse(storedkey.substring(64), radix: 16);
final Q = param.curve.createPoint(x, y);
return new ECPublicKey(Q, param);
}
}