Salted MD5 Cracking with CUDA/NVIDIA GPUs

This is the only open source code that I know of that can brute force an MD5 hash with salt. It allows you to specify left salt and right salt. In the example below, I crack the hash of "" using "http://" as the left salt and ".com" as the right salt. You will need the Nvidia CUDA SDK (nvcc) to compile this code. You must also have an Nvidia 8800GT or higher to run the code. If the code doesn't run on your graphics card, try changing the THREADS_PER_BLOCK and BLOCKS constants to lower values.

Download the Source Code


No attempt has been made to optimize the kernel code or the constants, but here are some early benchmarks:

GPUParametersSpeed (md5 per second)
260MDefault (see source)60M
8800GT'aaazzzzzzzbbb' with 'aaa' as left salt and 'bbb' as right salt. Default constants.80M
8800GT'zzzzzzz' with no salts. Default constants.100M


  1.  [xx@xx xx]$ nvcc ; ./a.out
  2.  STATUS: krfpda
  3.  STATUS: cbphxc
  4.  STATUS: ukyzqf
  5.  STATUS: muhski
  6.  STATUS: eerkel
  7.  STATUS: wnadyn
  8.  STATUS: oxjvrq
  9.  STATUS: ghtnlt
  10.  STATUS: yqcgfw
  13.  FOUND: