URL and Link repository

Friday, January 22, 2016

What is Hashing?

Culled directly from Webopedia

Producing hash values for accessing data or for security. A hash value (or simply hash), also called a message digest, is a number generated from a string of text. The hash is substantially smaller than the text itself, and is generated by a formula in such a way that it is extremely unlikely that some other text will produce the same hash value.

Hashes play a role in security systems where they're used to ensure that transmitted messages have not been tampered with. The sender generates a hash of the message, encrypts it, and sends it with the message itself. The recipient then decrypts both the message and the hash, produces another hash from the received message, and compares the two hashes. If they're the same, there is a very high probability that the message was transmitted intact. Hashing is also a common method of accessing data records. Consider, for example, a list of names:

  • John Smith
  • Sarah Jones
  • Roger Adams
  • To create an index, called a hash table,for these records, you would apply a formula to each name to produce a unique numeric value. So you might get something like:

  • 1345873 John smith
  • 3097905 Sarah Jones
  • 4060964 Roger Adams
  • Then to search for the record containing Sarah Jones,you just need to reapply the formula, which directly yields the index key to the record. This is much more efficient than searching through all the records till the matching record is found.

    Thursday, January 7, 2016

    Select Last Row of MySQL Table (Or the very first entry to the table)

    Here are two ways where the table index is auto-incremented:

    select * from myTable where myIndex = (select MAX(myIndex) from myTable); 
    

    select * from myTable order by myIndex asc limit 1;
    

    Which one is more efficient?

    By the way, one can also select the latest entries from a MySQL table with:

    select * from myTable order by myIndex desc limit 4;