50,530
社区成员
发帖
与我相关
我的任务
分享
public static String fromXgetY(String ysPubKey){
if (ysPubKey.length()!=33*2)
{
return "9001"; //长度不正确
}
if (!ysPubKey.substring(0, 2).equals("02") && !ysPubKey.substring(0,2).equals("03"))
{
return "9002"; //压缩公钥标识不正确
}
byte[] decode = Util.hexstr2byte(ysPubKey);
ECPoint tmpPoint = SM2.ecc_curve.decodePoint(decode);
ECFieldElement y = tmpPoint.getY();
String pubKeyY = Util.complete00(Util.bigIntegerTOHexForString(y.toBigInteger()), 64);
return "9000"+pubKeyY;
}