loadPublicKey function

ECPublicKey loadPublicKey(
  1. String storedkey
)

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);
  }
}