133 reputation
16
bio website johnnycode.com
location Grafton, MA
age 30
visits member for 2 years, 8 months
seen Apr 30 '13 at 14:28

I'm mainly a C# developer, currently working on ASP.NET MVC web applications, but I'm also fluent in PHP.

Check out my blog: Johnny Code

Here are some of the technologies I've used:

  • Kentico - I'm a Kentico Certified Trainer, and avid developer.
  • ASP.NET MVC - Worked on a college essay web application.
  • Entity Framework -I've done multiple projects using EF and have come to like it.
  • LINQ - I'd say I'm getting pretty good with LINQ. I've also used LINQ to SQL on a couple projects.
  • CMS': Kentico, Sitecore, Sitefinty, Ektron, and a little Drupal and Joomla.
  • .NET controls: Telerik RAD controls
  • Web Services - ASMX, ASP.NET Web API, WCF
  • SQL - I've written more SQL than I'd like :P Mostly for SQL Server and MySQL, but I wrote a little for Oracle too.
  • HTML, CSS, JavaScript, XHTML, XML, XSD - I can work with HTML and CSS fairly well, but I have NO design talent! But I could probably reproduce a Photoshop mockup with markup, and can slice and dice images fairly well.
  • JavaScript - I was writing JavaScript before jQuery, but I never liked it :P Now JavaScript is fun again.

Feb
1
comment How do I correctly derive a Key and IV?
It looks like there is an overload to the Rfc2898DeriveBytes constructor for the salt length, which I assumes mean that it will generate the salt for you. I think that should suffice for what I'm doing. FYI, I this project Encryptamajig that I'm building to act as a reference for encryption in C#. Right now it's pretty basic, but if you check out the Dev branch you can see what I'm doing. Hopefully I'll push some changes and merge into master later today with what I've learned here :)
Feb
1
comment How do I correctly derive a Key and IV?
Right, I understand now. One more related question: it looks like I can use the Rfc2898DeriveBytes class to generate a random salt for a given key, and then use that to generate the Key byte array and the IV byte array. Therefore, the IV is derived from the Salt. Then, I should be able to simply store the salt in the database, without the IV. Plus, I can prepend or append the salt to the ciphertext to avoid adding another column to the DB. How does that sound?
Feb
1
comment How do I correctly derive a Key and IV?
Sorry, but your last comment confused me further. Let's say I'm storing a user record in the DB and want to encrypt their birthday. It sounds like I need to also store the IV and the salt on that same user record in order for me to decrypt the birthday.
Feb
1
comment How do I correctly derive a Key and IV?
Great answer, but I still have a question: So I need to store a random salt AND random IV per user??? Can I derive at least one of those from the username or some other unique identifier on the User record?