此算法是从open-plc-utils-master工具包提取出来的,一种将PLC电力线的mac地址转化为设备密码的算法,算法的具体实现不做研究,只是在源代码基础上修改。由于本人需要,特留了字符数组入口(mac地址字符)和字符指针(指向转化完成的密码区)。在此特将算法代码贴出,以备网友需要也备不时之需:
#include
#include
#include
//#include
#include
#include
typedef unsigned __int64 uint64_t;
typedef unsigned __int32 uint32_t;
typedef unsigned flag_t;
#define PASSWORD_SILENCE (1 << 0)
#define PASSWORD_VERBOSE (1 << 1)
char * optarg = (char *) (0);
signed optopt = (char) (0);
signed optind = 1;
signed opterr = 1;
signed optmin = 0;
static uint64_t MACSeed = 0;
static uint64_t MACSRand (uint64_t seed)
{
uint64_t temp = MACSeed;
MACSeed = seed;
return (temp);
}
static uint32_t MACRand ()
{