Simple AES chat program
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

client.c 889B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include <stdio.h>
  2. #include <errno.h>
  3. #include "comm.h"
  4. #include "aes.h"
  5. int main(int argc, char **argv)
  6. {
  7. struct session sess;
  8. initializeSBox();
  9. sess_init(&sess);
  10. if (argc != 3)
  11. {
  12. printf("Usage: %s <connect address> <port>\n", argv[0]);
  13. return 0;
  14. }
  15. if (do_resolve(argv[1], argv[2], &sess.params))
  16. {
  17. perror("could not open socket");
  18. return 1;
  19. }
  20. if (do_connect(&sess))
  21. {
  22. perror("could not connect");
  23. return 1;
  24. }
  25. int byte;
  26. while (1)
  27. {
  28. byte = getchar();
  29. if (byte == EOF)
  30. break;
  31. send_encrypted_byte(&sess, byte);
  32. if (byte == '\n')
  33. {
  34. send_encrypted_byte(&sess, 0);
  35. while ((byte = recv_encrypted_byte(&sess)))
  36. {
  37. if (byte == EOF)
  38. {
  39. goto break2;
  40. }
  41. printf("%c", byte);
  42. }
  43. }
  44. }
  45. break2:
  46. do_unresolve(sess.params);
  47. sess_destroy(&sess);
  48. }