Я хотел сгенерировать хеш md5 для строки, которая уже хеширована md5. Это то, что я сделал! Я сделал это, но, к сожалению, он показывает ошибку "sh: 2: Синтаксическая ошибка:" | "неожиданно".
Я надеюсь, что это как-то связано с "strcat" внутри цикла
Каким-то образом внутри цикла строки
strcpy(command,"echo ");
strcat(command,str);
игнорируются. Я здесь потерян!
Кто-нибудь может мне помочь?
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <stdlib.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
FILE *fp;
char str[100], command[100];
char var[100];
int i;
printf("Enter the string:\n");
scanf("%[^\n]s",str);
printf("\nString is: %s\n\n",str);
for (i=0; i<3; i++) {
strcpy(command,"echo ");
strcat(command,str);
strcat(command," | md5sum");
strcat(command," | cut -c1-32");
fp = popen(command, "r");
fgets(var, sizeof(var), fp);
pclose(fp);
strcpy(str,var);
}
printf("The md5 has is :\n");
printf("%s\n", var);
return 0;
}