IntroductionDBISAM uses the Blowfish symmetric block cipher encryption algorithm along with the RSA Data Security, Inc. MD5 message-digest algorithm for encrypting tables and remote session requests and responses to and from a database server. Both of these algorithms are contained within the dbisamcr unit (Delphi and Kylix) or dbisamcr header file (C++Builder).
Copyright and CreditsBoth the Blowfish and MD5 implementations in DBISAM were written by us. The following are the citations and copyrights for the Blowfish and MD5 algorithms.
DBISAM uses the MD5 message-digest algorithm to generate 128-bit MD5 hashes from plain-text passwords. These hashes are then used with the Blowfish 8-byte symmetric block cipher algorithm to encrypt the actual data.
Replacing the Default EncryptionYou can replace the default block cipher encryption implementation in DBISAM by using the events provided in the TDBISAMEngine component. Please see the Customizing the Engine topic for more information. You can only replace the default encryption implementation with another 8-byte block cipher implementation.
If you replace the default encryption, keep in mind that you must make sure to not mix and match different encryption implementations with various applications or servers that access the same databases and tables. Doing so can cause some serious problems and the potential for losing data since one application or server will not be able to read or write data that was encrypted using a different encryption implementation.