123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- int main()
- {
- FILE* file = fopen("wordlist.txt", "w+");
- int length = 8;
- for (int length = 8; length <= 16; length++)
- {
- printf("正在生成%d位密钥,请等待\n", length);
- char* buffer = (char*)malloc(sizeof(char) * (length + 1));
- if (!buffer)
- {
- printf("申请内存失败\n");
- continue;
- }
- buffer[length] = '\0';
- for (int i = 0; i < length; i++)
- {
- buffer[i] = 33;
- }
- const int pos = length - 1;
- int done = 0;
- while (!done)
- {
- fprintf(file, "%s\n", buffer);
- buffer[pos]++;
- if ((unsigned char)buffer[pos] == 128)
- {
- buffer[pos] = 33;
- buffer[pos - 1]++;
- }
- for (int i = pos - 1; i > 0; i--)
- {
- if ((unsigned char)buffer[i] == 128)
- {
- buffer[i - 1]++;
- buffer[i] = 33;
- }
- }
- if ((unsigned char)buffer[0] == 128)done = 1;
- }
- }
- fclose(file);
- }
|