typedef ULONG (WINAPI *RtlRandom_NTAPI)(PULONG Seed);
LPWSTR GenerateRandomNumbers(int Length) //生成指定长度的数字
{
RtlRandom_NTAPI RtlRandom_s=NULL;
RtlRandom_s=(RtlRandom_NTAPI)GetProcAddress(GetModuleHandle(L"NTDLL.DLL"),"RtlRandom");
static wchar_t wctRndNumbers[512];
ULONG Seed = GetTickCount();
for (int i = NULL; i < Length; i++)
_snwprintf(&wctRndNumbers[i], sizeof(wctRndNumbers) - 1, L"%d", RtlRandom_s(&Seed) % 9);
return wctRndNumbers;
}
LPWSTR GenerateRandomLetters(int Length) //生成指定成都的字母
{
static wchar_t wctRndLetters[512];
RtlRandom_NTAPI RtlRandom_s=NULL;
RtlRandom_s=(RtlRandom_NTAPI)GetProcAddress(GetModuleHandle(L"NTDLL.DLL"),"RtlRandom");
ULONG Seed = GetTickCount();
for (int i = NULL; i < Length; i++)
wctRndLetters[i] = RtlRandom_s(&Seed) % 26 + 97;
return wctRndLetters;
}
调用示范:
std::wcout<<GenerateRandomLetters(10)<<std::endl;
std::wcout<<GenerateRandomNumbers(10)<<std::endl;
输出结果:
nzrjjfhbxe
2088432113
RtlRandom生成随机数字与字母
最新推荐文章于 2021-05-21 12:50:37 发布