This API uses the PBKDF2 specification with HMACSHA512 as the underlying pseudo random function (PRF) to perform the salted hashing over a specified number of instances to eliminate the feasibility of rainbow table attacks & drive up the computing cost of generating said tables, this is known as key stretching.

This API also provides the capability to create BIG crypto random salt strings, because the BIGGER & more RANDOM your salt, the better! (anti-rainbow tables)

I was going to use Microsofts Rfc2898DeriveBytes(cb) implementation but after learning that it is using HMACSHA1 as the underlying PRF, I decided to modernise this & implement PBKDF2 with HMACSHA512 instead (Stronger against GPUs)

Get binaries here but for source code please use the PWDTK.NET repo on GitHub which you can clone from here:

Please consider donating (5th button above) if you find PWDTK.NET useful!

Package AVAILABLE on NuGet!!!

Thanks - Ian


  • Crypto Randomly Generate Salt
  • Password Policy Integration
  • PBKDF2 implementation using HMACSHA512 as the underlying PRF
  • Control resource usage vs key stretching by supplying iteration count as per PBKDF2 spec
  • Code open source and available for peer review by security experts\cryptographers
  • Uses UTF-8 encoding to support non English characters, better than implementations using ASCII
  • Created using instructions for PBKDF2 standard here:
  • Ability to call Rfc2898.PBKDF2(P,S,c,dkLen) to derive encryption keys of your specific size
  • Source code includes sample GUI with common usage implemented

Project Samples

Project Activity

See All Activity >



Public Domain



Other Useful Business Software

DigitalOcean - The Total Cloud Computing Platform Icon
DigitalOcean - The Total Cloud Computing Platform Icon

Our platform was built with simplicity at the forefront, so developers can build and deploy with ease.

DigitalOcean's predictable format removes infrastructure friction and allows developers more time to build software customers love. Easily deploy, manage, and scale applications of any size. DigitalOcean also provides the support you need with hundreds of in-depth tutorials and an active online community.

Rate This Project

Login To Rate This Project

User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

  • Great library to help insure a quality implementation of encrypting passwords.

  • It's an easy to use and stable, reliable implementation. We are using this in a production environment with no problems till now.

    1 user found this review helpful.
  • I think this is fantastic, but I'm biased lol ;)

Read more reviews >

Additional Project Details

Intended Audience

Information Technology, Science/Research, Developers, Auditors, Security Professionals, Security

User Interface


Programming Language