AR Crypto ActiveX Library
1.02 |
This library includes the RC2 and DES-56
block cipher algorithms, the RC4 stream cipher algorithm, the SHA-1 hash algorithm and
other objects that you can use to code or export binary data.
More than a year ago I worked in a
project in which I needed strong encryption support, both to store information and to send
sensitive data through networks. I didn't find any help by then, and the only few
solutions that I found where very expensive, didn't work well or were just not usable from
Visual Basic. Today I hope I'm helping other people that might find themselves in a
situation like this, so they don't have to spend hours figuring out how to make in Visual
Basic all the mathematical operations (many of them with very big numbers for which Visual
Basic doesn't have a good support) that these algorithms require.
In the ZIP file you will also find a
complete sample application written in Visual Basic. If you have any comments or find a
bug, please notify me.
Documents used for the
implementation of these algorithms:
For more information:
DES-56 |
|
RC2 |
|
RC4 |
|
SHA-1 |
|
General |
|
Encryption and hash algorithms
objects included in the AR Crypto Library:
DES56 Object |
RC2 Object |
Properties:
- Key. String that will be used as the key to encrypt and
decrypt. The key used in this algorithm is limited to 56 bits, taken out from a 64 bits
string. That means that if you specify a password of more than 8 characters, only the
first eight will be taken for the password.
Methods:
- Decrypt (sText As String) As String. This will decrypt the
information given in sText.
- Encrypt (sText As String) As String. This will encrypt the
string given in sText.
|
Properties:
- EffectiveKeyLength. This unit is in bits. The default is
0, what means that the library will calculate the effective key length based on the length
of the password. Anyways, you can set this value to any number between 1 and 1024 if you
want to force the algorithm to use any other effective key length.
- Key. String that will be used as the key to encrypt and
decrypt.
Methods:
- Decrypt (sText As String) As String. This will decrypt the
information given in sText.
- Encrypt (sText As String) As String. This will encrypt the
string given in sText.
|
RC4 Object |
SHA1 Object |
Properties:
- Key. String that will be used as the key to encrypt and
decrypt.
Methods:
- Decrypt (sText As String) As String. This will decrypt the
information given in sText.
- Encrypt (sText As String) As String. This will encrypt the
string given in sText.
|
Methods:
- Hash (sText As String) As String. Just put the data
in sText and the function will return its message diggest.
|
Coding and export objects included in the AR
Crypto Library:
Base64 |
FileAccess |
Hexadecimal |
Properties:
- LastError. This property will inform you
if some error ocurred when encoding or decoding data. Its possible values are:
B64_ERROR_NO_TEXT, B64_ERROR_WRONG_LENGTH or B64_NO_ERROR. If you try to pass not valid
data to be decoded, you will receive an error saying the the length of the passed data is
wrong, and will receive wrong data as result, if any.
Methods:
- Encode (sText As String) As String. This method will
encode the data passed in sText.
- Decode (sText As String) As String. This method will
decode the data passed in sText.
|
Methods:
- Bin2File (sPath As String, sData As String) As
Boolean. This will put the contents of sData into the file specified in sPath, overwriting
if the file already existed. Returns True if successful.
- File2Bin(sPath As String) As String. This function
will return the contents of the file specified in sPath.
|
Methods:
- Bin2Hex (sData As String) As String. This expresion
will take binary data and convert it to hexadecimal format.
- Hex2Bin (sData As String) As String. This method will
take binary data in hexadecimal format and convert it to ASCII data.
- Num2Hex (Num As Double, [Bytes As Long]) As String.
You can use this method to convert decimal numbers to hexadecimal format. This method
allow numbers much bigger than the Visual Basic Hex command. Use the bytes option if you
want the result to be an specified x bytes expression.
- Hex2Num (sHex As String) As Double. Use this method
to convert an hexadecimal expression to a number.
|
History:
- 06.07.98, version 1.0 released.
- Version 1.02 08.07.98: the SHA-1 algorithm works now much
faster than in version 1.0.
|
(42 Kb) |
© Alvaro Redondo, 1998. All Rights Reserved.
http://www.sevillaonline.com/ActiveX/