Transact-SQL HASHBYTES() function computes MD5 and SHA1 hashes identical to those produced by VFP and C# code samples above.
* * *
One-way hash functions can be used for creating a fingerprint for a block of data.
Also hash functions can be used to evaluate passwords. In Users table of your FoxPro application you store not passwords but their hash values.
It is extremely difficult, if ever possible, to find the original string for a given hash value -- depends on the hash algorithm as well as computer power and methodology you have.
* * *
Message Digest: The representation of text in the form of a single string of digits, created using a formula called a one-way hash function.
One-Way Hash Function: An algorithm that turns messages or text into a fixed string of digits, usually for security or data management purposes. The "one way" means that it is nearly impossible to derive the original text from the string.
Hash Collision: More than one input message producing identical hash output.
* * *
Secure Hash Algorithm, a hash function developed by the NSA for use with NIST Digital Signature Standard (DSS). NSA almost immediately developed a minor change known as SHA-1. Both SHA and SHA-1 produce a 160-bit digest. SHA-1 is used in SSL.
* * *
MD-5 is a one-way message-digest hash function. The algorithm processes input text and creates a 128-bit message digest which is unique to the message and can be used to verify data integrity.
MD-5 was developed by Ron Rivest and is intended to be used in digital signatures applications. Earlier message digest algorithms include obsolete MD-2 and MD-4.
Are there any Windows version (or service pack) dependencies with this code (advapi32.dll)? I've been burned trying to get the FFC _Crypto class to work across different versions of Windows, re: different flavors of rsaenh.dll. (I noticed that rsaenh.dll is not referenced in above code, but I'm still concerned about the same problem version dependencies).