как получить значение из объекта-java

мне нужно знать, как получить доступ к значению объекта... например, в моем коде `

public static void main(String[] args) throws  Exception {
        Security.addProvider(new BouncyCastleProvider());
      BigInteger ZERO=new BigInteger("0");
       int c;
     ECCurve curve = new ECCurve.Fp(
            newBigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b

ECParameterSpec ecSpec = new ECParameterSpec(
           curve,
            curve.decodePoint( Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G
            new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307")); // n
KeyPairGenerator kpg = KeyPairGenerator.getInstance("ECDSA", "BC");
kpg.initialize(ecSpec, new SecureRandom());
KeyPair keyPair = kpg.generateKeyPair();
PublicKey pubKey = keyPair.getPublic();
System.out.println(pubKey);
PrivateKey privKey = keyPair.getPrivate();
System.out.println(privKey);`

int y=numNoRange+p;//где p - значение приватного ключа.. здесь вместе с числом мне нужно добавить значение приватного ключа, но приватный - это объект, поэтому мне нужно знать, как получить значение из объекта.. Спасибо ..


person user1208304    schedule 12.03.2012    source источник
comment
Вы пытаетесь узнать значение в privJKey (который является объектом класса PrivateKey)?   -  person Anuj Balan    schedule 12.03.2012


Ответы (2)


если вы знаете, что это за объект p; потом просто бросай. то получите значение вот простой пример приведения от double к int

double d = 3.5;
int x = (int) d;
person user1263307    schedule 12.03.2012

PublicKey — это базовый класс для представления общедоступного ключ асимметричного криптографического алгоритма. По своей природе это скорее структура, чем отдельное значение.

Например, если вы работаете с алгоритмом RSA, вы можете привести свой открытый ключ к RSAPublicKey, а затем получить доступ к modulus и exponent.

if (pubKey instanceof RSAPublicKey) {
    RSAPublicKey rsaPubKey = (RSAPublicKey)pubKey;
    BigInteger modulus = rsaPubKey.getModulus();
    BigInteger exponent = rsaPubKey.getPublicExponent();
    System.out.println("Modulus " + modulus.toString());
    System.out.println("Exponent " + exponent.toString());
}

Для криптографии на основе эллиптических кривых ключ состоит из двух значений - параметров эллиптической кривой affineX и affineY.

if (pubKey instanceof ECPublicKey) {
    ECPublicKey ecPubKey = (ECPublicKey)pubKey;
    ECPoint point = ecPubKey.getW();
    BigInteger affineX = point.getAffineX();
    BigInteger affineY = point.getAffineY();
    System.out.println("Affine X " + affineX.toString());
    System.out.println("Affine Y " + affineY.toString());
}

Таким же образом можно изменить внутреннюю структуру PrivateKey. доступ.

person divanov    schedule 21.02.2013