8
Jun

SHA1 in a trice

Having girls/womans in a dev team is always fun. Yes, you have to wash your body more than every Visual Studio release. :) But girls have also different way of looking at the problem. I had this experience in a training last week. There’s one girl in dev team. While showing how to work with Cryptography namespace I was creating simple method for SHA1 hash. Saying, that’s pretty easy to create SHA1 hash in a couple of lines I got a question (yes, from the girl ;) ), whether it’s possible to do it in one row, to make code more compact and show that’s double pretty easy. And it really is:

label1.Text = string.Join(string.Empty, new SHA1Managed().ComputeHash(Encoding.Unicode.GetBytes(textBox1.Text)).Select(_ => _.ToString()).ToArray());

It’s not the most readable code, but as a helper function somewhere … :)

There's 5 Comments So Far

  • T
    June 8th, 2009 at 17:09

    label1.Text = BitConverter.ToString(new SHA1Managed().ComputeHash(Encoding.Unicode.GetBytes(textBox1.Text)));

  • Petr Vones
    June 11th, 2009 at 01:17

    Jen drobna poznamka. Na jeden radek je to sice krasne efektni, lec naprosto spatne, zvlaste ma-li to slouzit jako ukazka spravneho pristupu. Trida SHA1Managed totiz implementuje IDisposable interface, takze by se melo volat Dispose(). Ze ho implementace v .NET 3.5 zrovna nepouziva ? To je irelevantni. V pristi verzi se to treba muze zmenit: http://msdn.microsoft.com/en-us/library/system.security.cryptography.sha1managed.dispose(VS.100).aspx

  • cincura.net
    June 11th, 2009 at 10:05

    S Dispose by to nebylo na jeden radek. A neni to ukazka spravneho pristupu. :) A jak si spravne poznamenal, aktualne to nic nedela. ;)

  • Petr Vones
    June 11th, 2009 at 12:26

    Nebylo, protoze to nejde. Presne temito mylnymi predpoklady (“ze to ted nic nedela”) vznika typicky zpraseny kod, ktery je v pripade problemu pak nutne slozite hledat.

Who Linked To This Post?

  1. Blog Jitka Dařbujanová - tvorba www, programování, webdesign, zend framework » Blog Archive » Having boys/men in a dev team is … ;)

Share your thoughts, leave a comment!