Hash Algorithm Plugin Development

Introduction

The time-memory tradeoff algorithm is general and rainbow table for any hash algorithm is possible.

RainbowCrack software supports some common hash algorithms implemented in alglib0.dll (Windows) or alglib0.so (Linux). To view the full list, just run rtgen program without any parameter.

Typical output:

hash algorithms implemented: lm HashLen=8 PlaintextLen=0-7 ntlm HashLen=16 PlaintextLen=0-15 md5 HashLen=16 PlaintextLen=0-15 sha1 HashLen=20 PlaintextLen=0-20 sha256 HashLen=32 PlaintextLen=0-20 office HashLen=8 PlaintextLen=5-5

To generate rainbow table for any hash algorithm not in that list, a hash algorithm plugin need be developed.

Source Code

Example source code available at http://project-rainbowcrack.com/src_alglib.zip

Test

Place the compiled alglib1.dll or alglib1.so in RainbowCrack's directory.

Then generate some small rainbow tables:

rtgen md5 loweralpha 1 7 0 100 100 0 rtgen mymd5 loweralpha 1 7 0 100 100 0

The first command generates a rainbow table with built-in MD5 implementation of RainbowCrack software, and the second command generate a rainbow table with the plugin compiled with the source code above.

The two rainbow tables should be binary identical.

© 2020 RainbowCrack Project