Re: Случайный пароль
От: TailWind  
Дата: 20.05.23 05:08
Оценка: -1
В общем сделал вот так:

//---------------------------------------------------------------------------
class Win32_CryptContext
{
  public:
    Win32_CryptContext() { if (!CryptAcquireContext(&Handle, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) throw TMFS_Exception(L"Win32_CryptContext fail"); }
   ~Win32_CryptContext() { CryptReleaseContext(Handle, 0); }
    //
    operator HCRYPTPROV() { return Handle; }
  private:
    HCRYPTPROV Handle;
};
//---------------------------------------------------------------------------
void Win32_Random(UCHAR *buf, ULONG s)
{
  Win32_CryptContext h;
  //
  if (!CryptGenRandom(h, s, buf)) throw TMFS_Exception(L"Win32_Random fail");
}
//---------------------------------------------------------------------------


Оценить насколько это хорошо не могу
Я даже не понимаю что значат флаги у CryptAcquireContext
Описание у функции на msdn не раскрывает используемых алгоритмов

Но наверно лучше чем велосипедить с rand()
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.