Guest User

test_netis.c

a guest
Nov 6th, 2020
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdint.h>
  4.  
  5.  
  6. uint32_t reverse_bytes(uint32_t bytes)
  7. {
  8. uint32_t aux = 0;
  9. uint8_t byte;
  10. int i;
  11.  
  12. for(i = 0; i < 32; i+=8)
  13. {
  14. byte = (bytes >> i) & 0xff;
  15. aux |= byte << (32 - 8 - i);
  16. }
  17. return aux;
  18. }
  19.  
  20.  
  21. void print_hex(unsigned char *s)
  22. {
  23. while(*s)
  24. printf("%02x", (unsigned int) *s++);
  25. printf("\n");
  26. }
  27.  
  28.  
  29. unsigned char *generate_random(unsigned char *data, int len, int seed)
  30. {
  31. int i, num;
  32.  
  33. srand(seed);
  34.  
  35. for (i=0; i<(len/4); i++) {
  36. num = reverse_bytes(rand());
  37. //*((int *)data) = num;
  38. memcpy(data,&num,sizeof(num));
  39. data += 4;
  40. }
  41.  
  42. i = len % 4;
  43. if (i > 0) {
  44. num = rand();
  45. memcpy(data, &num, i);
  46. }
  47. return data+len;
  48. }
  49.  
  50.  
  51. int main (void) {
  52. int seed;
  53. unsigned char *out;
  54. printf("Генерация E-Nonce/E-S1/E-S2 для Netis\n");
  55. printf("Введите seed: ");
  56. fflush(stdout);
  57. scanf("%d", &seed);
  58. generate_random(out, 16, seed);
  59. print_hex(out);
  60. return 0;
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment