资源简介

使用机器唯一码作为明文,加密得到的密文作为Lisence,确保Lisence和机器的唯一关系。将Lisence加密后保存到本地,不用反复注册。每次读取本地文件后,反复动态地加密,将最新计算得出的密文重写进去。本工程可以直接应用到项目中。

资源截图

代码片段和文件信息

#include “CommonFunctions.h“
#include 
#include 
#include 
#include  

#pragma comment(lib “Ws2_32.lib“)

int SplitStringByChar(vector &vecOut const string &sStringIn const char cGap)
{
    vecOut.clear();

    if (sStringIn.empty())
    {
        return 0;
    }

    stringstream tmp_ss(sStringIn);
    string tmp_sPerByte(““);

    while(getline(tmp_ss tmp_sPerByte ‘.‘))
    {
        vecOut.push_back(tmp_sPerByte);
        tmp_sPerByte.clear();
    }

    return vecOut.size();
}

unsigned int IPv4String2Int(const string &sIPv4)
{
    return htonl(inet_addr(sIPv4.c_str()));
}

string IPv4Int2String(unsigned int nIPv4)
{
    const unsigned char *pPerByte = (const unsigned char *)&nIPv4;

    stringstream ssIp;
    ssIp << int(*(pPerByte + 3)) << ‘.‘ << int(*(pPerByte + 2)) << ‘.‘ 
         << int(*(pPerByte + 1)) << ‘.‘ << int(*pPerByte) << flush;

    return ssIp.str();
}

string Timet2String(time_t nTime)
{
    tm tmStruct;
    memset(&tmStruct NULL sizeof(tm));
    localtime_s(&tmStruct &nTime);

    stringstream ssTime;
    ssTime << (tmStruct.tm_year + 1900) << ‘-‘;
    if ( (tmStruct.tm_mon + 1) < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << (tmStruct.tm_mon + 1) << ‘-‘ ;
    if ( tmStruct.tm_mday < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << tmStruct.tm_mday << ‘ ‘ ;
    if ( tmStruct.tm_hour < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << tmStruct.tm_hour << ‘:‘ ;
    if ( tmStruct.tm_min < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << tmStruct.tm_min << ‘:‘ ;
    if ( tmStruct.tm_sec < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << tmStruct.tm_sec << flush;

    return ssTime.str();
}

string Timet2StringNoSpace(time_t nTime)
{
    string sTime = Timet2String(nTime);

// 仅仅去掉空格
//     string::iterator it = find(sTime.begin() sTime.end() ‘ ‘);
//     while( sTime.end() != (it = find(sTime.begin() sTime.end() ‘ ‘)) )
//     {
//         *it = ‘_‘;
//     }

// 去掉所有的非数字
for (string::iterator it = sTime.begin(); it != sTime.end(); it++)
{
if ( ((*it) < ‘0‘) || ((*it) > ‘9‘) )
{
it = sTime.erase(it);
}
}

    return sTime;
}

string GetNowTime2String_ms()
{
    SYSTEMTIME st;
    GetLocalTime(&st);

    stringstream ssTime;

ssTime.str(““);
ssTime.clear();

    ssTime << st.wYear << ‘-‘;
    if ( st.wMonth < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << st.wMonth << ‘-‘ ;
    if ( st.wDay < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << st.wDay << ‘ ‘ ;
    if ( st.wHour < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << st.wHour << ‘:‘ ;
    if ( st.wMinute < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << st.wMinute << ‘:‘ ;
    if ( st.wSecond < 10 )
    {
        ssTime << ‘0‘;
    }
    ssTime << st.wSecond << ‘.‘ << flush;
    if ( st.wMilliseconds < 10 )

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-14 09:13  MD5Lisence\
     目录           0  2017-06-13 14:30  MD5Lisence\Common\
     文件        7862  2017-06-07 10:44  MD5Lisence\Common\CommonFunctions.cpp
     文件        2553  2017-05-27 16:09  MD5Lisence\Common\CommonFunctions.h
     文件        1595  2016-09-20 14:49  MD5Lisence\Common\EncryptStr.cpp
     文件         243  2016-09-20 14:49  MD5Lisence\Common\EncryptStr.h
     文件        9492  2017-06-13 14:33  MD5Lisence\Common\MD5.cpp
     文件        1308  2016-09-20 14:49  MD5Lisence\Common\MD5.h
     目录           0  2017-06-14 09:12  MD5Lisence\Debug\
     文件          92  2017-06-13 14:46  MD5Lisence\Debug\MD5Lisence.dat
     目录           0  2017-06-13 14:30  MD5Lisence\MD5Lisence\
     文件        1378  2017-06-13 14:19  MD5Lisence\MD5Lisence.sln
     文件       28672  2017-06-14 09:12  MD5Lisence\MD5Lisence.suo
     目录           0  2017-06-13 14:24  MD5Lisence\MD5LisenceGen\
     目录           0  2017-06-14 09:12  MD5Lisence\MD5LisenceGen\Debug\
     文件        1842  2017-06-14 09:12  MD5Lisence\MD5LisenceGen\Debug\MD5LisenceGen.Build.CppClean.log
     文件         431  2017-06-14 09:12  MD5Lisence\MD5LisenceGen\Debug\MD5LisenceGen.log
     文件      105952  2017-06-13 14:24  MD5Lisence\MD5LisenceGen\MD5LisenceGen.aps
     文件        2084  2017-06-13 14:18  MD5Lisence\MD5LisenceGen\MD5LisenceGen.cpp
     文件         484  2017-06-13 14:18  MD5Lisence\MD5LisenceGen\MD5LisenceGen.h
     文件       10628  2017-06-13 14:24  MD5Lisence\MD5LisenceGen\MD5LisenceGen.rc
     文件        6735  2017-06-13 14:37  MD5Lisence\MD5LisenceGen\MD5LisenceGen.vcxproj
     文件        2644  2017-06-13 14:37  MD5Lisence\MD5LisenceGen\MD5LisenceGen.vcxproj.filters
     文件         143  2017-06-13 14:18  MD5Lisence\MD5LisenceGen\MD5LisenceGen.vcxproj.user
     文件        3720  2017-06-13 14:37  MD5Lisence\MD5LisenceGen\MD5LisenceGenDlg.cpp
     文件         692  2017-06-13 14:26  MD5Lisence\MD5LisenceGen\MD5LisenceGenDlg.h
     文件        3255  2017-06-13 14:18  MD5Lisence\MD5LisenceGen\ReadMe.txt
     目录           0  2017-06-13 14:18  MD5Lisence\MD5LisenceGen\res\
     文件        1648  2017-06-13 14:23  MD5Lisence\MD5LisenceGen\resource.h
     文件       67777  2009-08-31 02:31  MD5Lisence\MD5LisenceGen\res\MD5LisenceGen.ico
     文件         682  2017-06-13 14:18  MD5Lisence\MD5LisenceGen\res\MD5LisenceGen.rc2
............此处省略29个文件信息

评论

共有 条评论