CRC_Readme.txt -------------- Version 1. First published 6 May 2001. Updated 23 October 2006. basCRC32: Calculates CRC-32 checksum for a given message string basCRC16: Calculates CRC-16 checksum for a given message string basCRC24: Calculates CRC-24 checksum using algorithm from RFC 2440 The main reference used was the excellent paper: "A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS Everything you wanted to know about CRC algorithms, but were afraid to ask for fear that errors in your understanding might be detected." by Ross Williams . The code has been set up to use pre-calculated tables and to avoid the problems due the lack of unsigned integers in Visual Basic. Using Ross's notation, the code uses the following parameters: Name : "CRC-16" Width : 16 Poly : 8005 Init : 0000 RefIn : True RefOut : True XorOut : 0000 Check : BB3D Name : "CRC-32" Width : 32 Poly : 04C11DB7 Init : FFFFFFFF RefIn : True RefOut : True XorOut : FFFFFFFF Check : CBF43926 The CRC-32 algorithm is reportedly used in PKZip, AUTODIN II, Ethernet, and FDDI. 'Check' is the result when the ASCII string "123456789" is fed thorugh the algorithm. You should be able to work out how to adapt the code for other combinations. '************************* COPYRIGHT NOTICE************************* ' This code was originally written in Visual Basic by David Ireland ' and is copyright (c) 2001-6 D.I. Management Services Pty Limited, ' all rights reserved. ' You are free to use this code as part of your own applications ' provided you keep this copyright notice intact and acknowledge ' its authorship with the words: ' "Contains security software by David Ireland of ' DI Management Services Pty Ltd ." ' This code may only be used as part of an application. It may ' not be reproduced or distributed separately by any means without ' the express written permission of the author. ' David Ireland and DI Management Services Pty Limited make no ' representations concerning either the merchantability of this ' software or the suitability of this software for any particular ' purpose. It is provided "as is" without express or implied ' warranty of any kind. ' Please forward comments or bug reports to www.di-mgt.com.au. ' The latest version of this source code can be downloaded from ' www.di-mgt.com.au/crypto.html. '****************** END OF COPYRIGHT NOTICE*************************