Sample code for 30+ languages & platforms
DataFlex

Load an Ed25519 Private Key from Hex

See more Ed25519 Examples

Demonstrates how to load an Ed25519 private key from raw hex bytes.

Note: This example requires Chilkat v9.5.0.83 or greater.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoPrivKey
    String sPrivKeyHex
    String sPubKeyHex
2    Handle hoPrivKey2
    Variant vSbPubKeyHex
    Handle hoSbPubKeyHex
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey
    If (Not(IsComObjectCreated(hoPrivKey))) Begin
        Send CreateComObject of hoPrivKey
    End

    // We have the hexidecimal encoded bytes of the private key and public key:
    Move "d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842" To sPrivKeyHex
    Move "19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1" To sPubKeyHex

    // Load these values into the Chilkat private key object:
    Get ComLoadEd25519 Of hoPrivKey sPrivKeyHex sPubKeyHex To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPrivKey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // ---------------------------------------------------------------
    // We don't actually need the public key.  If we pass an empty string for the public key,
    // Chilkat will automatically compute it.
    Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey2
    If (Not(IsComObjectCreated(hoPrivKey2))) Begin
        Send CreateComObject of hoPrivKey2
    End
    Get ComLoadEd25519 Of hoPrivKey2 sPrivKeyHex "" To iSuccess

    // Let's get the public key to see that it computed the same value.
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbPubKeyHex
    If (Not(IsComObjectCreated(hoSbPubKeyHex))) Begin
        Send CreateComObject of hoSbPubKeyHex
    End
    Get pvComObject of hoSbPubKeyHex to vSbPubKeyHex
    Get ComGetRawHex Of hoPrivKey2 vSbPubKeyHex To sPrivKeyHex
    Get ComGetAsString Of hoSbPubKeyHex To sTemp1
    Showln "computed public key = " sTemp1

    // The output should be:
    // computed public key = 19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1


End_Procedure