以下是一個生成符合 Sec-WebSocket-Key 格式的隨機字符串的示例 C 程序:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generateSecWebSocketKey(char *key) {
const char *charPool = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
srand(time(NULL));
for (int i = 0; i < 24; i++) {
key[i] = charPool[rand() % 64];
}
key[24] = '\0';
}
int main() {
char secWebSocketKey[25];
generateSecWebSocketKey(secWebSocketKey);
printf("Sec-WebSocket-Key: %s\n", secWebSocketKey);
return 0;
}
該程序使用了 generateSecWebSocketKey 函數來生成隨機字符串,該函數會在指定的字符池中選擇字符來構建字符串。在這個例子中,字符池是由大小寫字母和數字加號和斜杠字符組成的。
程序的主要函數是 main,它調用 generateSecWebSocketKey 函數生成隨機字符串,并將結果打印出來。
請注意,這個程序生成的隨機字符串只是一個示例,并不是真正的安全隨機數。如果你需要用于安全目的,請使用適當的加密庫來生成隨機字符串。