                     QuickHash Library Version 3.0 ReadMe File
                                    June 2003

                    (C) Copyright 1999-2003 SlavaSoft Inc.

    Contents

    1. Warranty Disclaimer
    2. Introduction
    3. What's new in this version
    4. FileList	
    5. Installing and Uninstalling
    6. Trial Version Limitation


    1. Warranty Disclaimer
    ----------------------
    THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, SLAVASOFT INC. FURTHER DISCLAIMS ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE PRODUCT AND DOCUMENTATION REMAINS WITH RECIPIENT. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL SLAVASOFT INC. BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, DIRECT, INDIRECT, SPECIAL, PUNITIVE, OR OTHER DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THE LICENSE AGREEMENT OR THE USE OF OR INABILITY TO USE THE PRODUCT, EVEN IF SLAVASOFT INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


    2. Introduction
    ---------------
    QuickHash Library is the fastest implementation of the most popular hash, checksum and HMAC algorithms. It allows Windows developers to perform in their applications hash, checksum and HMAC calculations for memory blocks, strings, blobs, streaming data and single files.
    QuickHash Library was designed to be fast, flexible and extremely easy to use. 
QuickHash Library supports:

    13 hash algorithms: MD2, MD4, MD5, SHA-1, SHA-2(256, 384, 512), RIPEMD128, RIPEMD160, RIPEMD256, RIPEMD320, PANAMA, TIGER;

    4 checksum algorithms: CRC16, CRC16C, CRC32, ADLER32; 

    12 HMAC algorithms: MD4-HMAC, MD5-HMAC, SHA1-HMAC, SHA256-HMAC, SHA384-HMAC, SHA512-HMAC, RIPEMD128-HMAC, RIPEMD160-HMAC, RIPEMD256-HMAC, RIPEMD320-HMAC, PANAMA-HMAC, TIGER-HMAC.

QuickHash Library has 3 interfaces:

     1) QuickHash API ( The QuickHash API can be used as is, or it can be used to create wrappers for other languages that can use DLLs ).
     2) C++ Interface ( Wrapper classes to QuickHash API ).
     3) QuickHash Type Library ( Includes all declarations for accessing the QuickHash Library from different programming languages which have the possibility to reference a Type Library, such as VB 5.0, VB 6.0, VBA, etc. )

QuickHash Library supports:

     1) Static Linking - When you perform static linking to QuickHash Library, the library code is included in your executable file the same way C functions are linked when you use a standard C library.
     2) Dynamic Linking - When you perform dynamic linking to  QuickHash Library, the library code  is loaded at run time from QuickHash.dll, and this DLL can be shared by multiple applications.  


    3. What's new in this version
    -----------------------------
         1. MD4, RIPEMD-128, RIPEMD-256 and RIPEMD-320 hash algorithms added
	 2. CRC16 and CRC16C checksum algorithms added
	 3. MD4-HMAC, RIPEMD128-HMAC, RIPEMD256-HMAC and RIPEMD320-HMAC HMAC algorithms added
	 4. QuickHash Type Library added
         4. Improved help
         5. Compatibility with previous versions

    4. File List
    ------------
    QuickHash.h      - Include file for C/C++ applications
    QuickHash.lib    - LIB file for dynamic linking to QuickHash Library
    QuickHashS.lib   - LIB file for static linking to QuickHash Library
    QuickHash.dll    - DLL file    
    QuickHash.tlb    - type library for QuickHash.dll     
    QuickHash.chm    - help file
    ReadMe.txt       - this file
    Register.exe     - registration program for SlavaSoft products 

    5. Installing and Uninstalling
    ------------------------------
    To install QuickHash Library, perform the following:

    - If you want to work with QuickHash Library through its Type Library, follow these steps:

	1. Copy QuickHash.dll in one of the  executable paths for your operating system, or for your application.

	2. Copy QuickHash.tlb to any directory and add a reference to the QuickHash.tlb in your project(s).

    - If you want to work with QuickHash Library in C/C++, follow these steps:

	1. Copy QuickHash.dll in one of the  executable paths for your operating system, or for your application.

	2. Copy QuickHash.h in the include path for your project(s), or in the include path specified in your compiler settings.

	3. Copy QuickHash.lib and QuickHashS.lib in the library path for your project(s), or in the library path specified in your compiler settings. 

	4. Specify predefined symbols for your project:

	*** Define _SL_STATIC if you want to link to QuickHashS.lib (for static linking to QuickHash Library).

	*** Define _SL_NOFORCE_LIBS if you want to manually specify the necessary library for your project.

	Notes. 

	- Do not define any predefined symbols mentioned above if you want to link to QuickHash.lib (for dynamic linking to QuickHash Library).

	- Do define _SL_NOFORCE_LIBS if you use a compiler other than Microsoft Visual C++ (2.0 or later).

    In addition to the previous steps, perform the following:

	1. Copy the help files QuickHash.chm and ReadMe.txt in any directory where it will be easy for you to access them when QuickHash Library help will be needed.

	2. Copy the registration program Register.exe in any directory where it will be easy for you to access it when you will need to register QuickHash Library. 

    To uninstall QuickHash Library just remove all files listed above from your harddrive.

    6. Trial Version Limitation
    ---------------------------
    The trial version of QuickHash Library will cause a 10 seconds delay when running any application that uses it. To remove this delay you have to order the license for QuickHash Library and register it.

    