Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec#pubctors) \| [Methods](https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec#inhmethods)

# DHPublicKeySpec


`
public


class
DHPublicKeySpec
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/java/security/spec/KeySpec


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | javax.crypto.spec.DHPublicKeySpec |

<br />

*** ** * ** ***

This class specifies a Diffie-Hellman public key with its associated
parameters.

Note that this class does not perform any validation on specified
parameters. Thus, the specified values are returned directly even
if they are null.
**See also:**

- `https://developer.android.com/reference/javax/crypto/spec/DHPrivateKeySpec`

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec#DHPublicKeySpec(java.math.BigInteger,%20java.math.BigInteger,%20java.math.BigInteger)(https://developer.android.com/reference/java/math/BigInteger y, https://developer.android.com/reference/java/math/BigInteger p, https://developer.android.com/reference/java/math/BigInteger g) ` Constructor that takes a public value `y`, a prime modulus `p`, and a base generator `g`. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec#getG()() ` Returns the base generator `g`. |
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec#getP()() ` Returns the prime modulus `p`. |
| ` https://developer.android.com/reference/java/math/BigInteger` | ` https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec#getY()() ` Returns the public value `y`. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Public constructors

### DHPublicKeySpec

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public DHPublicKeySpec (BigInteger y, 
                BigInteger p, 
                BigInteger g)
```

Constructor that takes a public value `y`, a prime
modulus `p`, and a base generator `g`.

<br />

| Parameters ||
|---|---|
| `y` | `BigInteger`: public value y <br /> |
| `p` | `BigInteger`: prime modulus p <br /> |
| `g` | `BigInteger`: base generator g <br /> |

## Public methods

### getG

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BigInteger getG ()
```

Returns the base generator `g`.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/math/BigInteger` | the base generator `g` <br /> |

### getP

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BigInteger getP ()
```

Returns the prime modulus `p`.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/math/BigInteger` | the prime modulus `p` <br /> |

### getY

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public BigInteger getY ()
```

Returns the public value `y`.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/math/BigInteger` | the public value `y` <br /> |