AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
alexaClientSDK::avsCommon::utils::uuidGeneration Namespace Reference


void setEntropyReader (std::function< double(void)> func)
const std::string generateUUID ()
void setSalt (const std::string &newSalt)
void addSeeds (const std::vector< uint32_t > &seeds)

Function Documentation

◆ addSeeds()

void alexaClientSDK::avsCommon::utils::uuidGeneration::addSeeds ( const std::vector< uint32_t > &  seeds)

Allows caller to add extra seeds to generate uuid. Good seeds should be random values, such as the time between two consecutive user interactions. UUIDGeneration uses one random_device value, lower 32bits of current time, time between two invocations, and lower 32bits memory address of temporary variable to feed seeds for random number generator.

seedsextra seeds from a random source.

◆ generateUUID()

const std::string alexaClientSDK::avsCommon::utils::uuidGeneration::generateUUID ( )

Generates a variant 1, version 4 universally unique identifier (UUID) consisting of 32 hexadecimal digits. The UUID generated is of the format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx where M indicates the version, and the two most significant bits of N indicates the variant. M is 0100 (binary) for version 4 and N is 10xx(binary) for variant 1.

See also
A uuid as a string.

◆ setEntropyReader()

void alexaClientSDK::avsCommon::utils::uuidGeneration::setEntropyReader ( std::function< double(void)>  func)

Set the customized function to read entropy value instead of the default.

funcCustomized function used to read entropy value.

◆ setSalt()

void alexaClientSDK::avsCommon::utils::uuidGeneration::setSalt ( const std::string &  newSalt)

Allows caller to set a specific salt to be used in any seeding operation. Salt wil be a prefix to the seed and should be as specific to the unique device as possible. Setting a salt will cause the next UUID to be generated with a new seed.

newSaltthe salt to use

AlexaClientSDK 3.0.0 - Copyright 2016-2022, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0