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 >
Wrap
Text File
|
1993-10-19
|
6KB
|
177 lines
R k p 2 E n c
RkPlus (tm) 2.x/compatible Encode Unit for RkPlus (tm) 3.3
by C. Scott Davis
Copyright (c) 1990-93 Serious Cybernetics
T A B L E O F C O N T E N T S
===================================================================
D e s c r i p t i o n Sec
Table of Contents ..................................
What Is Rkp2Enc? ................................... 1.0
Using Rkp2Enc ...................................... 2.0
Rkp2Enc Variables .................................. 3.0
OwnerCode .......................................... 3.1
ProgramCode ........................................ 3.2
Additional Information On Rkp2Enc .................. 4.0
Copyright Notices .................................. 5.0
Index .............................................. 6.0
1.0 - What is Rkp2Enc?
Rkp2Enc is a Turbo Pascal (tm) unit to allow RkPlus(tm) 3.3 to generate and
use version 2.x/compatible keys. It contains definitions for OwnerCode and
ProgramCode, as well as the encoding functions used by RkPlus(tm) 2.x.
If version 2.x/compatible keys are not required, Rkp3Enc or user-written
encoding functions may be used instead (see RKPLUS.DOC for more
information).
2.0 - Using Rkp2Enc
To use Rkp2Enc, the programmer must place it AFTER RkPlus in the Uses
definition (as shown below).
Uses
RkPlus, Rkp2Enc;
In addition, OwnerCode and ProgramCode must be initialised, before any
RkPlus(tm) calls are made (otherwise the RkPlus(tm) function RkpError will
return InvalidParameter). No additional procedure or function calls are
needed, as Rkp2Enc is automatically activated when it is Used.
If Rkp2Enc is corrupt or has been tampered with, the RkPlus(tm) function
RkpError will return BadTPU. If the RkPlus(tm) 3.2 version of Rkp2Enc is
used with any version other than 3.3, the RkPlus(tm) function RkpError will
return VersionMismatch.
3.0 - RkPlus(tm) Variables
The following Variables are defined in Rkp2Enc:
OwnerCode
ProgramCode
3.1 - OwnerCode
OwnerCode : String[20];
This variable is initialised by Rkp2Enc to '' and must be assigned a value
before calling any of the RkPlus(tm) procedures or functions. It is used
(along with ProgramCode) to generate the registration keys. This variable
should probably be the same for all software written by a single
person/company. Since is it used to cause your keys to be different from
those of other programmers who are also using RkPlus(tm), the more cryptic
this variable is, the more secure your keys will be.
Examples :
OwnerCode := 'TrendSoft, Inc.';
If the name of your company is 'TrendSoft, Inc.', this is probably NOT a
good OwnerCode. It would be easy for someone who knows the name of the
company to use the RkPlus(tm) unit to write a programme that will generate
keys for your software.
OwnerCode := 'Trend&&Soft/Inc@';
This is better. It still uses the name of the company, but it is somewhat
masked by the insertion of other characters and would be harder for another
programmer to guess.
OwnerCode := 'Read$Make@Into';
This is MUCH better. It uses totally unrelated words that would be
extremely unlikely to be used by another programmer/company.
OwnerCode := 'EkQW3#m,-%\uSaXo^Ej7';
This is most likely the best, since it uses totally random symbols.
IMPORTANT : You should NOT use any of the actual examples used here or in
the sample programmes included with RkPlus(tm). If you do, anyone else who
uses the same example will have IDENTICAL keys!
3.2 - ProgramCode
ProgramCode : String[16];
This variable is initialised by Rkp2Enc to '' and must be assigned a value
before calling any of the RkPlus(tm) procedures or functions. It is used
(along with OwnerCode) to generate the registration keys. Unlike OwnerCode,
it doesn't need to be particularly cryptic. There are several approaches to
the use of ProgramCode:
(1) If ProgramCode is set to the same value for several programmes
written by a person/company, keys for one piece of software will
work on another piece of software. Using this approach, you
could have a single key for several programmes.
(2) If each programme has a different ProgramCode and the ProgramCode is
not changed when the programme changes, keys for one version of the
programme will work for all versions of the same programme.
(3) If each programme has a different ProgramCode and the ProgramCode is
changed when the programme is changed, a different key will be
required for each version of the programme.
Examples :
ProgramCode := 'RkStuff';
If you wrote a programme called RkSample and a programme called RkUtils and
you defined the ProgramCode as 'RkStuff' in both programmes, a key for one
programme would work for the other.
ProgramCode := 'RkSample';
If you wrote a programme called RkSample and a programme called RkUtils and
you defined the ProgramCode as 'RkSample' in RkSample and used a different
ProgramCode in RkUtils, a key for one would NOT work for the other.
ProgramCode := 'RkSample One';
If you wrote a programme called RkSample and you defined the ProgramCode as
'RkSample One' in versions 1.1, 1.2 and 1.3 and then changed the ProgramCode
to 'RkSample Two' for version 2.1, the same key would work for versions 1.1,
1.2 and 1.3 but would NOT work for version 2.1.
4.0 - Additional Information On Rkp2Enc
Rkp2Enc makes the following assignments to RkPlus(tm) variables (for version
2.x compatibility):
BaseYear := 1990;
UseExpDays := False;
These variables should NOT be changed by any programme which uses Rkp2Enc,
or its keys will NOT be compatible with version 2.x keys.
For more information on using Rkp2Enc, see the sample Turbo Pascal (tm)
programmes (RKPDEMO2) that are distributed with RkPlus(tm), or contact me at
any of the locations listed in RKPLUS.DOC.
5.0 - Copyright Notices
RkPlus (c) 1991-93 Serious Cybernetics
Rkp2Enc (c) 1990-93 Serious Cybernetics
Rkp3Enc (c) 1993 Serious Cybernetics
Turbo Pascal (c) 1983-89 Borland International