ParagonIE\Halite\KeyFactory::generateEncryptionKeyPair PHP Method

generateEncryptionKeyPair() public static method

Generate a key pair for public key encryption
public static generateEncryptionKeyPair ( string &$secretKey = '' ) : EncryptionKeyPair
$secretKey string
return EncryptionKeyPair
    public static function generateEncryptionKeyPair(string &$secretKey = '') : EncryptionKeyPair
    {
        // Encryption keypair
        $kp = \Sodium\crypto_box_keypair();
        $secretKey = \Sodium\crypto_box_secretkey($kp);
        // Let's wipe our $kp variable
        \Sodium\memzero($kp);
        return new EncryptionKeyPair(new EncryptionSecretKey(new HiddenString($secretKey)));
    }

Usage Example

示例#1
0
 /**
  * @covers \ParagonIE\Halite\Asymmetric\EncryptionSecretKey::derivePublicKey()
  * @covers \ParagonIE\Halite\Asymmetric\SignatureSecretKey::derivePublicKey()
  */
 public function testPublicDerivation()
 {
     $enc_kp = KeyFactory::generateEncryptionKeyPair();
     $enc_secret = $enc_kp->getSecretKey();
     $enc_public = $enc_kp->getPublicKey();
     $this->assertEquals($enc_secret->derivePublicKey()->getRawKeyMaterial(), $enc_public->getRawKeyMaterial());
     $sign_kp = KeyFactory::generateSignatureKeyPair();
     $sign_secret = $sign_kp->getSecretKey();
     $sign_public = $sign_kp->getPublicKey();
     $this->assertEquals($sign_secret->derivePublicKey()->getRawKeyMaterial(), $sign_public->getRawKeyMaterial());
 }
All Usage Examples Of ParagonIE\Halite\KeyFactory::generateEncryptionKeyPair