# DHPrivateKeySpec

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/DHPrivateKeySpec#pubctors)\|[Methods](https://developer.android.com/reference/javax/crypto/spec/DHPrivateKeySpec#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/javax/crypto/spec/DHPrivateKeySpec#inhmethods)  

# DHPrivateKeySpec

`
public


class
DHPrivateKeySpec
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


implements

`[KeySpec](https://developer.android.com/reference/java/security/spec/KeySpec)`


`

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

<br />

*** ** * ** ***

This class specifies a Diffie-Hellman private 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:**

- [DHPublicKeySpec](https://developer.android.com/reference/javax/crypto/spec/DHPublicKeySpec)

## Summary

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

|                                                                                               ### Public methods                                                                                                ||
|-------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| ` `[BigInteger](https://developer.android.com/reference/java/math/BigInteger) | ` `[getG](https://developer.android.com/reference/javax/crypto/spec/DHPrivateKeySpec#getG())`() ` Returns the base generator`g`. |
| ` `[BigInteger](https://developer.android.com/reference/java/math/BigInteger) | ` `[getP](https://developer.android.com/reference/javax/crypto/spec/DHPrivateKeySpec#getP())`() ` Returns the prime modulus`p`.  |
| ` `[BigInteger](https://developer.android.com/reference/java/math/BigInteger) | ` `[getX](https://developer.android.com/reference/javax/crypto/spec/DHPrivateKeySpec#getX())`() ` Returns the private value`x`.  |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](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 `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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

### DHPrivateKeySpec

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

```
public DHPrivateKeySpec (BigInteger x, 
                BigInteger p, 
                BigInteger g)
```

Constructor that takes a private value`x`, a prime modulus`p`, and a base generator`g`.

<br />

|                 Parameters                 ||
|-----|---------------------------------------|
| `x` | `BigInteger`: private value x <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                                                  ||
|----------------------------------------------------------------------------|------------------------------|
| [BigInteger](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                                                 ||
|----------------------------------------------------------------------------|-----------------------------|
| [BigInteger](https://developer.android.com/reference/java/math/BigInteger) | the prime modulus`p` <br /> |

### getX

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

```
public BigInteger getX ()
```

Returns the private value`x`.

<br />

|                                                 Returns                                                 ||
|----------------------------------------------------------------------------|-----------------------------|
| [BigInteger](https://developer.android.com/reference/java/math/BigInteger) | the private value`x` <br /> |