After reading (yet another) post by Jeff Atwood more or less concluding that us mortal developers shouldn’t be getting too involved with encryption, I’m left wondering what library I should be using. The only two libraries I’ve found that seem legitimate are entlib’s and Bouncy Castle, but they don’t seem much more of an abstraction than the .NET cryptography APIs to me.
I guess what I’m wondering is if there is a “jQuery of cryptography libraries” that is simple, widely-trusted, open and well-documented.
edit: Here is a comprehensive list of popular crypto libraries from https://github.com/quozd/awesome-dotnet/blob/master/README.md#cryptography:
Original answer follows.
The Bouncy Castle library is indeed a well respected, and mature encryption library, but what’s wrong with using many of the fantastic encryption functions that are built right into the .NET framework?
System.Security.Cryptography Namespace
In my experience, these implementations are rock-solid, provide numerous options (for example: you’ve usually got a Crypto API, CNG and Managed implementations of each algorithm to choose from) , and you’re not going to “get it wrong”, since you’re only using the implementation. If you’re slightly worried that you might use them incorrectly, you can always follow MSDN’s own example code.