[BACK]Return to x99token.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / x99token

Diff for /src/usr.bin/x99token/x99token.c between version 1.3 and 1.4

version 1.3, 2003/01/04 22:36:13 version 1.4, 2003/06/10 17:06:52
Line 20 
Line 20 
 #define HEXDIGITS       "0123456789abcdef"  #define HEXDIGITS       "0123456789abcdef"
 #define DECDIGITS       "0123456789012345"  #define DECDIGITS       "0123456789012345"
   
 void predict(des_key_schedule, char *, int);  void predict(des_key_schedule, const char *, int);
   
 char *digits = HEXDIGITS;  char *digits = HEXDIGITS;
 extern char *__progname;  extern char *__progname;
Line 92 
Line 92 
                 char *b = buf;                  char *b = buf;
                 /* Assume octal input */                  /* Assume octal input */
                 for (i = 0; i < 8; ++i) {                  for (i = 0; i < 8; ++i) {
                         if (!*b) {                          if (!*b)
                                 fprintf(stderr, "%s: invalid key\n", buf);                                  fprintf(stderr, "%s: invalid key\n", buf);
                         }  
                         while (isdigit(*b))                          while (isdigit(*b))
                                 key[i] = key[i] << 3 | *b++ - '0';                                  key[i] = key[i] << 3 | (*b++ - '0');
                         while (*b && !isdigit(*b))                          while (*b && !isdigit(*b))
                                 ++b;                                  ++b;
                 }                  }
Line 167 
Line 166 
 }  }
   
 void  void
 predict(des_key_schedule ks, char *chal, int cnt)  predict(des_key_schedule ks, const char *chal, int cnt)
 {  {
         int i;          int i;
         des_cblock cb;          des_cblock cb;
   
           memcpy(&cb, chal, sizeof(cb));
         while (cnt-- > 0) {          while (cnt-- > 0) {
                 printf("%.8s: ", chal);                  printf("%.8s: ", (char *)cb);
                 des_ecb_encrypt((des_cblock *)chal, &cb, ks, DES_ENCRYPT);                  des_ecb_encrypt(&cb, &cb, ks, DES_ENCRYPT);
                 for (i = 0; i < 4; ++i) {                  for (i = 0; i < 4; ++i) {
                         printf("%c", digits[(cb[i]>>4) & 0xf]);                          printf("%c", digits[(cb[i]>>4) & 0xf]);
                         printf("%c", digits[(cb[i]>>0) & 0xf]);                          printf("%c", digits[(cb[i]>>0) & 0xf]);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4