License C++ lib. Easy way to add licensing in your application

€250.00

License C++ library version 1.1.1 offers a licensing feature for C++ applications.

LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: DOWNLOAD LICENSE. You can buy technical support service for this product.

Add To Cart
Technical support service
Options:

Purchase options

You can by this software online by card or you can buy the software by bank transfer. Bank transfer available only for companies. To buy software by bank transfer please send us request to info@constantrobotics.com. Also, you can buy technical support service for this product.

Overview

License C++ library version 1.1.1 offers a licensing feature for C++ applications. The library provides functions for generating a token (base on username and MAC address of the computer), creating a license based on it, and validating the license with control of its validity time. AES256 encryption method is implemented. To embed licensing in a C++ application, generate a token, then based on the token and the required number of days generate a license string (key). License checking in the application is performed by a single library function. The library doesn't have any third-party dependencies and provide simple interface. It compatible with Linux and Windows.

Downloads

Programmer’s manual: DOWNLOAD

Simple interface

class License
{
public:
    /// License class version.
    static std::string getVersion();

    /// Create token based on hardware and user name.
    std::string getToken(std::string userName);

    /// Extract information from a token.
    bool getTokenInfo(std::string token, std::string &userName,
                      std::string &macAddress);

    /// Init a license.
    bool getLicense(std::string token, int days, std::string &license);

    /// Extract info from a license.
    bool getLicenseInfo(std::string license, std::string &userName,
                        std::string &macAddress, int &daysLeft);

    /// Check status of license.
    bool checkLicense(std::string license, std::string userName);
};

Token string generation

std::string userName = "AnyUserName"; // Set by user.
cr::utils::License lic;
std::string token = lic.getToken(userName);

License string generation based on token

std::string license = ""; // Variable to store license string.
std::string token = "0255D7EE2DFCFF806359D19..."; // Example.
int days = 20; // License for 20 days, example.
if (!lic.getLicense(token, days, license))
{
    std::cout << "Invalid token for " <<
    userName << " !" << std::endl;
    return -1;
}

License validation

std::string license = "EE8C15F833832FF0BD9EAEA..."; // Example.
std::string userName = "AnyUserName";
cr::utils::License lic;
if (!lic.checkLicense(license, userName))
{
    std::cout << "Invalid license for " <<
    userName << " !" << std::endl;
    return -1;
}
std::cout << "License valid!" << std::endl;
FormatConverterOpenCv C++ lib. Pixel format converter with lot of formats support
€20.00
VideoRecorderOpenCv C++ lib. Simple video recorder with memory control
€50.00
ChildProcess C++ lib. Simple way to run external process from your app
€10.00