To Hash, Or Not To Hash in .NET?
A hash is representative of a value, that in effect is condensing larger pieces of data. It can be effectively used for data verification actions, process, (confirming that there are/has been no modifying, interference or intervention, changes made to it), since the hash was generated. It under-pins things like data integrity-enabler type processes.
It is an evidence type, cryptographic hash of the assembly for example, uniquely identifying the specific version of that/an assembly. (Modifications will be treated as invalid). .NET has different classes for cryptography, including symmetric and asymmetric encryption, digital signatures and hashing/hashes. When encrypting and decrypting hashes, validity-testing, verifying data integrity with a hash protection robustness, measures and results, even reliability are increased.
This check-sum is unique to a particular file or piece of data – also known as a hash value. Original data cannot be extracted or inferred from the hash, in that sense a one-way operation. There are many hash-algorithms in .NET. MD5(128 bits), MD160 (message digest) 160-bits, SHA-1 (160-bits), SHA-256, 384, 512., known as non-keyed hashing algorithms. Keyed hashing algorithms – two of them, HMACSHA1 and MACTripleDES, (see defined elsewhere).
Key Exam Points
Review the chapters, content and references to HASH, in Fundamentals, User and Data Security, computing and creating keyed and non-keyed hash. It can be extremely useful if you do not want a file altered, know with confidence that is has not been modified since hash was generated for example. System.Security.cryptography namespace applications pertaining to this topic and aspects. Pay close attention to memory-use, cryptography classes, (encryption/decryption), Application User and Data security, where these are used (boxing and unboxing methods and functionalities for example).
For the exam, study examples for keyed, non-keyed hash, algorithms, digital signatures, practical contexts, applications, tools, utilities, (both theory and practice), that help you to gain a better in-depth understanding of this topic.
- Take the test questions and mock-exam, sample Q&A (with answers and solutions), to work your way through it.
Evidence, CAS, SHA-1, MD5.
This article is based on the 2nd edition of the Microsoft .Net Framework Application Training Kit with the purpose to help 70-536 Exam takers to succeed. I constantly look for ways to improve the content. Please leave a comment about this article or drop me a message if you would like to see changes for this site.