模块 java.base

类 EllipticCurve

java.lang.Object
java.security.spec.EllipticCurve

public class EllipticCurve extends Object
这个不可变类包含表示椭圆曲线所需的必要值。
自从:
1.5
参见:
  • 构造方法详细信息

    • EllipticCurve

      public EllipticCurve(ECField  field, BigInteger  a, BigInteger  b)
      创建具有指定椭圆字段 field 以及系数 ab 的椭圆曲线。
      参数:
      field - 这个椭圆曲线结束的有限域。
      a - 此椭圆曲线的第一个系数。
      b - 此椭圆曲线的第二个系数。
      抛出:
      NullPointerException - 如果 fieldab 为空。
      IllegalArgumentException - 如果 ab 不为空且不在 field 中。
    • EllipticCurve

      public EllipticCurve(ECField  field, BigInteger  a, BigInteger  b, byte[] seed)
      创建具有指定椭圆字段 field 、系数 ab 以及用于曲线生成的 seed 的椭圆曲线。
      参数:
      field - 这个椭圆曲线结束的有限域。
      a - 此椭圆曲线的第一个系数。
      b - 此椭圆曲线的第二个系数。
      seed - 曲线生成期间用于稍后验证的字节。复制此数组的内容以防止后续修改。
      抛出:
      NullPointerException - 如果 fieldab 为空。
      IllegalArgumentException - 如果 ab 不为空且不在 field 中。
  • 方法详情

    • getField

      public ECField  getField()
      返回此椭圆曲线结束的有限域field
      返回:
      这条曲线结束的字段field
    • getA

      public BigInteger  getA()
      返回椭圆曲线的第一个系数 a
      返回:
      第一个系数 a
    • getB

      public BigInteger  getB()
      返回椭圆曲线的第二个系数b
      返回:
      第二个系数 b
    • getSeed

      public byte[] getSeed()
      返回曲线生成期间使用的种子字节 seed。如果未指定,则可能为 null。
      返回:
      播种字节 seed 。每次调用此方法时都会返回一个新数组。
    • equals

      public boolean equals(Object  obj)
      比较此椭圆曲线与指定对象的相等性。
      重写:
      equals 在类 Object
      参数:
      obj - 要比较的对象。
      返回:
      如果 obj 是 EllipticCurve 的实例并且字段 A 和 B 匹配,则为 true,否则为 false。
      参见:
    • hashCode

      public int hashCode()
      返回此椭圆曲线的哈希码值。
      重写:
      hashCode 在类 Object
      返回:
      根据字段 A 和 B 的哈希码计算的哈希码值,如下所示:
      
         (field.hashCode() << 6) + (a.hashCode() << 4) + (b.hashCode() << 2)
        
      参见: