home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume39 / syf / part01 next >
Internet Message Format  |  1993-08-31  |  5KB

  1. From: blackman@cs.buffalo.edu ()
  2. Newsgroups: comp.sources.misc
  3. Subject: v39i066: syf - file encryption program, Part01/01
  4. Date: 31 Aug 1993 09:32:49 +0100
  5. Sender: aem@aber.ac.uk
  6. Approved: aem@aber.ac.uk
  7. Message-ID: <25v2bh$qlo@uk-usenet.uk.sun.com>
  8. X-Md4-Signature: a4efa11f1d0f93b90d4d4a3162bc455d
  9.  
  10. Submitted-by: blackman@cs.buffalo.edu ()
  11. Posting-number: Volume 39, Issue 66
  12. Archive-name: syf/part01
  13. Environment: C
  14.  
  15. [NB: this program was submitted for posting; without documentation or
  16. clear contact addresses.  Hence, the software has been heavily
  17. repackaged to make it suitable for posting, but I thereby do not accept
  18. any responsibility for the usability of the package, or it's operational
  19. ability.  +Alec-]
  20.  
  21. #! /bin/sh
  22. # into a shell via "sh file" or similar.  To overwrite existing files,
  23. # type "sh file -c".
  24. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  25. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  26. # Contents:  MANIFEST POSTER syf.c
  27. # Wrapped by alecm@uk-usenet on Tue Aug 31 09:24:12 1993
  28. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  29. echo If this archive is complete, you will see the following message:
  30. echo '          "shar: End of archive 1 (of 1)."'
  31. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  32.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  33. else
  34.   echo shar: Extracting \"'MANIFEST'\" \(236 characters\)
  35.   sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  36. X   File Name        Archive #    Description
  37. X----------------------------------------------------------
  38. XMANIFEST                   1    this file
  39. XPOSTER                     1    contact information from poster
  40. Xsyf.c                      1    source code
  41. END_OF_FILE
  42.   if test 236 -ne `wc -c <'MANIFEST'`; then
  43.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  44.   fi
  45.   # end of 'MANIFEST'
  46. fi
  47. if test -f 'POSTER' -a "${1}" != "-c" ; then 
  48.   echo shar: Will not clobber existing file \"'POSTER'\"
  49. else
  50.   echo shar: Extracting \"'POSTER'\" \(802 characters\)
  51.   sed "s/^X//" >'POSTER' <<'END_OF_FILE'
  52. X[NB: this program was submitted for posting; without documentation or
  53. Xclear contact addresses.  Hence, the software has been heavily
  54. Xrepackaged to make it suitable for posting, but I thereby do not accept
  55. Xany responsibility for the usability of the package, or it's operational
  56. Xability.  +Alec-]
  57. X
  58. XPath: blackman
  59. XFrom: blackman@cs.buffalo.edu (Cancholech)
  60. XSubject: syf.c - file encryption program
  61. XMessage-Id: <CC4nwz.n0B@acsu.buffalo.edu>
  62. XSender: nntp@acsu.buffalo.edu
  63. XNntp-Posting-Host: armstrong.cs.buffalo.edu
  64. XOrganization: UB
  65. XX-Newsreader: TIN [version 1.1 PL8]
  66. XDate: Sat, 21 Aug 1993 21:05:22 GMT
  67. XLines: 69
  68. XApparently-To: comp-sources-misc@cis.ohio-state.edu
  69. X
  70. X--
  71. XWhat need sheep the shepherds knowledge? 
  72. X-- Use with my permission, if you understand.  
  73. Xrutgers!ub!blackman blackman@cs.buffalo.edu
  74. X
  75. END_OF_FILE
  76.   if test 802 -ne `wc -c <'POSTER'`; then
  77.     echo shar: \"'POSTER'\" unpacked with wrong size!
  78.   fi
  79.   # end of 'POSTER'
  80. fi
  81. if test -f 'syf.c' -a "${1}" != "-c" ; then 
  82.   echo shar: Will not clobber existing file \"'syf.c'\"
  83. else
  84.   echo shar: Extracting \"'syf.c'\" \(1102 characters\)
  85.   sed "s/^X//" >'syf.c' <<'END_OF_FILE'
  86. X/* cypher.c david stafford computer shopper */
  87. X
  88. X#include <stdio.h>
  89. X#include <stdlib.h>
  90. X
  91. X#define MULTIPLIER 0x015A4E35L
  92. X#define INCREMENT 1
  93. X
  94. Xlong RandomSeed;
  95. X
  96. Xint GetRandomNumber( int Range )
  97. X{
  98. XRandomSeed = MULTIPLIER*RandomSeed+INCREMENT;
  99. X
  100. Xreturn(RandomSeed%Range);
  101. X}
  102. X
  103. Xvoid Cipher(FILE*InFile,FILE*OutFile)
  104. X{
  105. Xint Ch;
  106. Xwhile ((Ch=getc(InFile))!=EOF)
  107. X  {
  108. X    fputc(Ch ^ GetRandomNumber(256),OutFile);
  109. X  }
  110. X}
  111. X
  112. Xvoid Supervisor( long Key, char *InFileName, char *OutFileName)
  113. X{
  114. XFILE*InFile, *OutFile;
  115. Xif((InFile=fopen(InFileName,"rb"))!=NULL)
  116. X  {
  117. Xif((OutFile=fopen(OutFileName,"wb"))!=NULL)
  118. X  {
  119. X    RandomSeed=Key;
  120. XCipher(InFile,OutFile);
  121. Xfclose(OutFile);
  122. X  }
  123. Xelse
  124. X  {
  125. Xprintf("Can't open output file %s\n",OutFileName);
  126. X}
  127. Xfclose (InFile);
  128. X}
  129. Xelse
  130. X  {
  131. Xprintf("Can't open input file %s\n",InFileName);
  132. X}
  133. X}
  134. X
  135. Xvoid main(int Argc, char *Argv[])
  136. X{
  137. Xif(Argc==4)
  138. X  {
  139. XSupervisor(atol(Argv[1]),Argv[2],Argv[3]);
  140. X     }
  141. Xelse
  142. X       {
  143. Xputs("Cipher- File   encryption/decryption\n");
  144. Xputs("Usage: cipher_key input_file output_file\n");
  145. Xputs(" cipher_key is an integer");
  146. Xputs(" input_file & output_file are the file names\n");
  147. X}
  148. X}
  149. END_OF_FILE
  150.   if test 1102 -ne `wc -c <'syf.c'`; then
  151.     echo shar: \"'syf.c'\" unpacked with wrong size!
  152.   fi
  153.   # end of 'syf.c'
  154. fi
  155. echo shar: End of archive 1 \(of 1\).
  156. cp /dev/null ark1isdone
  157. MISSING=""
  158. for I in 1 ; do
  159.     if test ! -f ark${I}isdone ; then
  160.     MISSING="${MISSING} ${I}"
  161.     fi
  162. done
  163. if test "${MISSING}" = "" ; then
  164.     echo You have the archive.
  165.     rm -f ark[1-9]isdone
  166. else
  167.     echo You still must unpack the following archives:
  168.     echo "        " ${MISSING}
  169. fi
  170. exit 0
  171. exit 0 # Just in case...
  172.