C++
C++
Get an Ed25519 Key in Raw Hex Format
See more Ed25519 Examples
Demonstrates how to get the private and public key parts of an Ed25519 key in lowercase hex formmat.Note: This example requires Chilkat v9.5.0.83 or greater.
Chilkat C++ Downloads
#include <CkPrivateKey.h>
#include <CkStringBuilder.h>
void ChilkatSample(void)
{
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Load an Ed25519 key from some format..
CkPrivateKey privKey;
// This loads an Ed25519 key from an unencrypted PEM file (no password required).
success = privKey.LoadAnyFormatFile("qa_data/eddsa/ed25519.pem","");
if (success == false) {
std::cout << privKey.lastErrorText() << "\r\n";
return;
}
// The key type should be "ed25519" to indicate an Ed25519 key.
std::cout << "key type = " << privKey.keyType() << "\r\n";
// What is the size of the private key in bits? (should always be 256 bits for Ed25519)
std::cout << "size in bits = " << privKey.get_BitLength() << "\r\n";
// Get the private and public key parts in raw hex format:
CkStringBuilder sbPubKeyHex;
const char *privKeyHex = privKey.getRawHex(sbPubKeyHex);
// We should have a 32-byte private key (a 64 character hex string).
std::cout << "private key = " << privKeyHex << "\r\n";
// We should have a 32-byte public key (a 64 character hex string).
std::cout << "public key = " << sbPubKeyHex.getAsString() << "\r\n";
// Sample output:
// key type = ed25519
// size in bits = 256
// private key = d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842
// public key = 19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1
}