mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-23 18:06:26 -07:00
Password salts and activation tokens were generated with the global SFMT RNG, which was seeded from a 32-bit timestamp, making registration salts and activation tokens predictable. The game RNG used the same timestamp seed across restarts. Add CryptoUtil backed by OpenSSL RAND_bytes and use it for salt/token generation and to seed RNG_SFMT with a 64-bit CSPRNG value in both the client and server. Link libcockatrice_utility against OpenSSL::Crypto. Took 30 seconds Took 25 minutes
13 lines
202 B
C++
13 lines
202 B
C++
#ifndef CRYPTOUTIL_H
|
|
#define CRYPTOUTIL_H
|
|
|
|
#include <QByteArray>
|
|
#include <QtGlobal>
|
|
|
|
namespace CryptoUtil
|
|
{
|
|
QByteArray randomBytes(int count);
|
|
quint64 randomUInt64();
|
|
} // namespace CryptoUtil
|
|
|
|
#endif
|