Unicode C++
Unicode 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 Unicode C++ Downloads
#include <CkPrivateKeyW.h>
#include <CkStringBuilderW.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..
CkPrivateKeyW privKey;
// This loads an Ed25519 key from an unencrypted PEM file (no password required).
success = privKey.LoadAnyFormatFile(L"qa_data/eddsa/ed25519.pem",L"");
if (success == false) {
wprintf(L"%s\n",privKey.lastErrorText());
return;
}
// The key type should be "ed25519" to indicate an Ed25519 key.
wprintf(L"key type = %s\n",privKey.keyType());
// What is the size of the private key in bits? (should always be 256 bits for Ed25519)
wprintf(L"size in bits = %d\n",privKey.get_BitLength());
// Get the private and public key parts in raw hex format:
CkStringBuilderW sbPubKeyHex;
const wchar_t *privKeyHex = privKey.getRawHex(sbPubKeyHex);
// We should have a 32-byte private key (a 64 character hex string).
wprintf(L"private key = %s\n",privKeyHex);
// We should have a 32-byte public key (a 64 character hex string).
wprintf(L"public key = %s\n",sbPubKeyHex.getAsString());
// Sample output:
// key type = ed25519
// size in bits = 256
// private key = d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842
// public key = 19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1
}