home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 99 / af099a.adf / archives / af99a2.lzx / ARexx_Tutorial / Encrypt1.rexx next >
OS/2 REXX Batch file  |  1984-04-13  |  1KB  |  72 lines

  1. /* -------------------------------------------------------- */
  2.  
  3. /* encrypt1.rexx */
  4.  
  5. /* -------------------------------------------------------- */
  6.  
  7. SOURCE_PROMPT='Please enter source file name'
  8.  
  9. DEST_PROMPT='Please enter destination file name'
  10.  
  11. KEY_PROMPT='Please enter encryption key'
  12.  
  13. SOURCE_ERROR='cannot open source file'
  14.  
  15. DESTINATION_ERROR='cannot open destination file'
  16.  
  17. END_PROMPT='All done!'
  18.  
  19. /* -------------------------------------------------------- */
  20.  
  21. say SOURCE_PROMPT; pull source_name
  22.  
  23. say DEST_PROMPT; pull dest_name
  24.  
  25. say KEY_PROMPT; parse pull key
  26.  
  27. if Open(s,source_name,'r') then
  28.  
  29.   do 
  30.  
  31.   if Open(d,dest_name,'w') then
  32.  
  33.      do 
  34.   
  35.         n=0
  36.         
  37.         key_length=Length(key)
  38.         
  39.         c=Readch(s)
  40.          
  41.         do until EOF(s)            
  42.            
  43.           key_character=SubStr(key,((n//key_length)+1),1) 
  44.         
  45.           c=BitXOR(c,key_character)           
  46.            
  47.           Writech(d,c)
  48.  
  49.           n=n+1 
  50.  
  51.           c=Readch(s)            
  52.  
  53.         end /* while EOF() loop */
  54.  
  55.      say END_PROMPT
  56.  
  57.      Close(d)
  58.  
  59.      end /* open dest */
  60.  
  61.     else say DEST_ERROR
  62.  
  63.   end /* open source */
  64.  
  65.   else say SOURCE_ERROR
  66.  
  67. Close(s)
  68.  
  69. /* -------------------------------------------------------- */
  70.  
  71.  
  72.