diff --git a/sig_example.sig b/sig_example.sig new file mode 100644 index 0000000..3567450 Binary files /dev/null and b/sig_example.sig differ diff --git a/vipre-cryptor b/vipre-cryptor index 932c295..b301a76 100755 Binary files a/vipre-cryptor and b/vipre-cryptor differ diff --git a/vipre-manager.h b/vipre-manager.h index b6881cc..f8969a7 100644 --- a/vipre-manager.h +++ b/vipre-manager.h @@ -57,28 +57,28 @@ void _file_read_error(void) { puts("\033[1mvipre-cryptor: \033[91mFile read error!\033[0m"); } -#define DATA_RAND_MAX 32767 +#define DATA_RAND_MAX (ULONG_MAX / 2) static unsigned long int next = 1; int _str_rand(void) { next = next * 1103515245 + 12345; - return (unsigned int)(next/65536) % (DATA_RAND_MAX + 1); + return (unsigned long)(next/65536) % (DATA_RAND_MAX + 1); } -void _str_srand(unsigned int seed) +void _str_srand(unsigned long seed) { next = seed; } -unsigned int __generate_hash(char* str) { +unsigned long __generate_hash(char* str) { size_t pos = 0; - unsigned int ret = 0; + unsigned long ret = 0; size_t max = strlen(str); while (pos < max) { ret += (unsigned char)str[pos]; - if (ret > 65000) ret = ret / 10; + if (ret > (unsigned long)ULONG_MAX - 10) ret = 32; pos ++; } if (ret == 0) ret ++;