home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / PASCAL / RKPLUS33 / RKP2ENC.DOC < prev    next >
Text File  |  1993-10-19  |  6KB  |  177 lines

  1.                                R k p 2 E n c
  2.  
  3.          RkPlus (tm) 2.x/compatible Encode Unit for RkPlus (tm) 3.3
  4.  
  5.                              by C. Scott Davis
  6.  
  7.                  Copyright (c) 1990-93 Serious Cybernetics
  8.           
  9.  
  10.  
  11.  
  12.  
  13.                      T A B L E   O F   C O N T E N T S
  14.  
  15.     ===================================================================
  16.  
  17.          D e s c r i p t i o n                                 Sec
  18.  
  19.          Table of Contents ..................................
  20.          What Is Rkp2Enc? ...................................  1.0
  21.          Using Rkp2Enc ......................................  2.0
  22.          Rkp2Enc Variables ..................................  3.0
  23.          OwnerCode ..........................................  3.1
  24.          ProgramCode ........................................  3.2
  25.          Additional Information On Rkp2Enc ..................  4.0
  26.          Copyright Notices ..................................  5.0
  27.          Index ..............................................  6.0
  28.  
  29.  
  30. 1.0 - What is Rkp2Enc?
  31.  
  32. Rkp2Enc is a Turbo Pascal (tm) unit to allow RkPlus(tm) 3.3 to generate and 
  33. use version 2.x/compatible keys.  It contains definitions for OwnerCode and 
  34. ProgramCode, as well as the encoding functions used by RkPlus(tm) 2.x.
  35.  
  36. If version 2.x/compatible keys are not required, Rkp3Enc or user-written 
  37. encoding functions may be used instead (see RKPLUS.DOC for more 
  38. information).
  39.  
  40.  
  41. 2.0 - Using Rkp2Enc
  42.  
  43. To use Rkp2Enc, the programmer must place it AFTER RkPlus in the Uses 
  44. definition (as shown below).
  45.  
  46.   Uses
  47.     RkPlus, Rkp2Enc;
  48.  
  49. In addition, OwnerCode and ProgramCode must be initialised, before any 
  50. RkPlus(tm) calls are made (otherwise the RkPlus(tm) function RkpError will 
  51. return InvalidParameter).  No additional procedure or function calls are 
  52. needed, as Rkp2Enc is automatically activated when it is Used.
  53.  
  54. If Rkp2Enc is corrupt or has been tampered with, the RkPlus(tm) function 
  55. RkpError will return BadTPU.  If the RkPlus(tm) 3.2 version of Rkp2Enc is 
  56. used with any version other than 3.3, the RkPlus(tm) function RkpError will 
  57. return VersionMismatch.
  58.  
  59.  
  60. 3.0 - RkPlus(tm) Variables
  61.  
  62. The following Variables are defined in Rkp2Enc:
  63.  
  64. OwnerCode
  65. ProgramCode
  66.  
  67.  
  68. 3.1 - OwnerCode
  69.  
  70. OwnerCode : String[20];
  71.  
  72. This variable is initialised by Rkp2Enc to '' and must be assigned a value 
  73. before calling any of the RkPlus(tm) procedures or functions.  It is used 
  74. (along with ProgramCode) to generate the registration keys.  This variable 
  75. should probably be the same for all software written by a single 
  76. person/company. Since is it used to cause your keys to be different from 
  77. those of other programmers who are also using RkPlus(tm), the more cryptic 
  78. this variable is, the more secure your keys will be.
  79.  
  80. Examples :
  81.  
  82. OwnerCode := 'TrendSoft, Inc.';
  83.   
  84. If the name of your company is 'TrendSoft, Inc.', this is probably NOT a 
  85. good OwnerCode.  It would be easy for someone who knows the name of the 
  86. company to use the RkPlus(tm) unit to write a programme that will generate 
  87. keys for your software.
  88.  
  89. OwnerCode := 'Trend&&Soft/Inc@';
  90.  
  91. This is better.  It still uses the name of the company, but it is somewhat 
  92. masked by the insertion of other characters and would be harder for another 
  93. programmer to guess.
  94.  
  95. OwnerCode := 'Read$Make@Into';
  96.  
  97. This is MUCH better.  It uses totally unrelated words that would be 
  98. extremely unlikely to be used by another programmer/company.
  99.  
  100. OwnerCode := 'EkQW3#m,-%\uSaXo^Ej7';
  101.  
  102. This is most likely the best, since it uses totally random symbols.
  103.  
  104. IMPORTANT : You should NOT use any of the actual examples used here or in 
  105. the sample programmes included with RkPlus(tm).  If you do, anyone else who 
  106. uses the same example will have IDENTICAL keys!
  107.  
  108.  
  109. 3.2 - ProgramCode
  110.  
  111. ProgramCode : String[16];
  112.  
  113. This variable is initialised by Rkp2Enc to '' and must be assigned a value 
  114. before calling any of the RkPlus(tm) procedures or functions.  It is used 
  115. (along with OwnerCode) to generate the registration keys.  Unlike OwnerCode, 
  116. it doesn't need to be particularly cryptic.  There are several approaches to 
  117. the use of ProgramCode:
  118.  
  119.   (1) If ProgramCode is set to the same value for several programmes
  120.       written by a person/company, keys for one piece of software will
  121.       work on another piece of software.  Using this approach, you
  122.       could have a single key for several programmes.
  123.  
  124.   (2) If each programme has a different ProgramCode and the ProgramCode is
  125.       not changed when the programme changes, keys for one version of the
  126.       programme will work for all versions of the same programme.
  127.  
  128.   (3) If each programme has a different ProgramCode and the ProgramCode is
  129.       changed when the programme is changed, a different key will be
  130.       required for each version of the programme.
  131.  
  132. Examples :
  133.  
  134. ProgramCode := 'RkStuff';
  135.  
  136. If you wrote a programme called RkSample and a programme called RkUtils and 
  137. you defined the ProgramCode as 'RkStuff' in both programmes, a key for one 
  138. programme would work for the other.
  139.  
  140. ProgramCode := 'RkSample';
  141.  
  142. If you wrote a programme called RkSample and a programme called RkUtils and 
  143. you defined the ProgramCode as 'RkSample' in RkSample and used a different 
  144. ProgramCode in RkUtils, a key for one would NOT work for the other.
  145.  
  146. ProgramCode := 'RkSample One';
  147.  
  148. If you wrote a programme called RkSample and you defined the ProgramCode as 
  149. 'RkSample One' in versions 1.1, 1.2 and 1.3 and then changed the ProgramCode 
  150. to 'RkSample Two' for version 2.1, the same key would work for versions 1.1, 
  151. 1.2 and 1.3 but would NOT work for version 2.1.
  152.  
  153.  
  154. 4.0 - Additional Information On Rkp2Enc
  155.  
  156. Rkp2Enc makes the following assignments to RkPlus(tm) variables (for version 
  157. 2.x compatibility):
  158.  
  159. BaseYear := 1990;
  160. UseExpDays := False;
  161.  
  162. These variables should NOT be changed by any programme which uses Rkp2Enc, 
  163. or its keys will NOT be compatible with version 2.x keys.
  164.  
  165. For more information on using Rkp2Enc, see the sample Turbo Pascal (tm) 
  166. programmes (RKPDEMO2) that are distributed with RkPlus(tm), or contact me at 
  167. any of the locations listed in RKPLUS.DOC.
  168.  
  169.  
  170. 5.0 - Copyright Notices
  171.  
  172. RkPlus (c) 1991-93 Serious Cybernetics
  173. Rkp2Enc (c) 1990-93 Serious Cybernetics 
  174. Rkp3Enc (c) 1993 Serious Cybernetics
  175. Turbo Pascal (c) 1983-89 Borland International
  176.  
  177.