home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / des2.zip / PARITY.C < prev    next >
Text File  |  1993-03-15  |  1KB  |  48 lines

  1. /* Data Encryption Standard front end
  2.  * Usage: des [-e -d] keyvalue infile outfile
  3.  */
  4. #define INCL_BASE
  5. #include <os2.h>
  6. #include <stdio.h>
  7. #include <string.h>
  8. #include "des.h"
  9.  
  10.  
  11. VOID main(int argc, CHAR *argv[])
  12. {
  13. FILE *fi, *fo;
  14. CHAR key[9];
  15. CHAR blk[8];
  16.  
  17. if (argc > 4)
  18.    {
  19.      strncpy(key, argv[2], 8);
  20.      key[8] = '\0';
  21.      setparity(key);
  22.  
  23.      initkey(key);
  24.     if ((fi = fopen(argv[3], "rb")) != NULL)
  25.        {
  26.         if ((fo = fopen(argv[4], "wb")) != NULL)
  27.            {
  28.             while (!feof(fi))
  29.                {
  30.                 memset(blk, 0, 8);
  31.                 if (fread(blk, 1, 8, fi) != 0)
  32.                    {
  33.                     if (stricmp(argv[1], "-e") == 0)
  34.                         encrypt(blk);
  35.                     else
  36.                         decrypt(blk);
  37.                    fwrite(blk, 1, 8, fo);
  38.                    }
  39.                }
  40.            fclose(fo);
  41.            }
  42.        fclose(fi);
  43.        }
  44.    }
  45. else
  46.     printf("\nUsage: des [-e -d] keyvalue infile outfile");
  47. }
  48.