mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-15 12:29:35 +00:00
get_random_num: Simplify
random() is available everywhere except Windows and DOS. Also switch Windows to rand_s.
This commit is contained in:
parent
a0b30dc9a3
commit
3c530a48c4
@ -250,11 +250,13 @@ CFLAGS_CROSS_WIN32 += -I$(OPENCL_HEADERS_KHRONOS)/
|
||||
CFLAGS_CROSS_WIN32 += -I$(WIN_ICONV_32)/include/
|
||||
CFLAGS_CROSS_WIN32 += -m32
|
||||
CFLAGS_CROSS_WIN32 += -DWITH_HWMON
|
||||
CFLAGS_CROSS_WIN32 += -D_CRT_RAND_S
|
||||
CFLAGS_CROSS_WIN64 := $(CFLAGS)
|
||||
CFLAGS_CROSS_WIN64 += -I$(OPENCL_HEADERS_KHRONOS)/
|
||||
CFLAGS_CROSS_WIN64 += -I$(WIN_ICONV_64)/include/
|
||||
CFLAGS_CROSS_WIN64 += -m64
|
||||
CFLAGS_CROSS_WIN64 += -DWITH_HWMON
|
||||
CFLAGS_CROSS_WIN64 += -D_CRT_RAND_S
|
||||
|
||||
LFLAGS_CROSS_LINUX32 := $(LFLAGS)
|
||||
LFLAGS_CROSS_LINUX32 += -lpthread
|
||||
|
21
src/shared.c
21
src/shared.c
@ -379,27 +379,16 @@ u32 get_random_num (const u32 min, const u32 max)
|
||||
|
||||
if (low == 0) return (0);
|
||||
|
||||
#if defined (__linux__)
|
||||
#if defined (_WIN)
|
||||
|
||||
u32 data;
|
||||
u32 r;
|
||||
rand_s(&r);
|
||||
|
||||
FILE *fp = fopen ("/dev/urandom", "rb");
|
||||
|
||||
if (fp == NULL) return (0);
|
||||
|
||||
const int nread = fread (&data, sizeof (u32), 1, fp);
|
||||
|
||||
fclose (fp);
|
||||
|
||||
if (nread != 1) return 0;
|
||||
|
||||
u64 r = data % low; r += min;
|
||||
|
||||
return (u32) r;
|
||||
return ((r % (max - min)) + min);
|
||||
|
||||
#else
|
||||
|
||||
return (((u32) rand () % (max - min)) + min);
|
||||
return (((u32) random () % (max - min)) + min);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user