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: https://github.com/Thashiznets/PWDTK.NET.git

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

Package AVAILABLE on NuGet!!!

Thanks - Ian

Features

  • 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: http://www.ietf.org/rfc/rfc2898.txt
  • 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 >

License

Public Domain

Follow PWDTK.NET

PWDTK.NET Web Site

You Might Also Like
The #1 Embedded Analytics Solution for SaaS Teams. Icon
The #1 Embedded Analytics Solution for SaaS Teams.

Qrvey saves engineering teams time and money with a turnkey multi-tenant solution connecting your data warehouse to your SaaS application.

Qrvey’s comprehensive embedded analytics software enables you to design more customizable analytics experiences for your end users.
Try Developer Playground
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
2
0
0
0
0
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.
Read more reviews >

Additional Project Details

Intended Audience

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

User Interface

.NET/Mono

Programming Language

C#

Registered

2012-08-31