Skip to main content

What is Hash Function and HashCode

Many a times you hear this term call hash function or hashcode. One of the most common usage is in Java when  discussing about Hashset or HashMap. Lets understand what is Hashcode and HashFunction.

What is Hash Function? 

A hash function is any function that can be used to map data of arbitrary size to data of fixed size -wikipediea 

In simple terms, think of hash function as a juicer where you can put any fruit and the result is always a juice. As the juicer is one way that is once you make the juice out of a fruit you cannot reverse the propose i.e. you cannot get the fruit back out of the juice. The same thing goes with the hash function once you get the resultant value you cannot reverse it. This is very important in information security and some people use this to store passwords ( they are other better ways to store passwords like salt technique but we wont discuss this in this post). 




What is HashCode

Hash code is the resultant of the hash function (its the final juice that comes out of the juicer). The length of hashcode is fixed (same like the juicer you always wanted a cup full of juice).  Hashcode is used to validate of two results are same or different. 

In Java, hashcode is used in hashset and hashmap.  

Comments

Popular posts from this blog

Adding loading spinner to JSP Page using pure CSS and JS

I wanted to add loading spinner to the web application that I was working on. This application is a legacy application and I was looking into a way to add the loading spinner whenever the user performs certain actions such as the following Clicks a button which behind the scene performs CRUD operation When user request data  As the web application was based of JSP and I was looking for a way to adding it to the webpage and finally came across the following solution  Create a div  Add the CSS for the div Create a JS function which gets called on button click.  Here is the code HTML JS      CSS

Enabling TLS 1.2 in Java 7

I am working on web application that uses third party API and apparently those guys have stopped using TLS 1.0 and switched TLS 1.2 I was getting the following error Apparently Java 1.8 have TLS 1.2 by default and for Java 1.7 you have to enable it. I have been searching online for few days to enable TLS 1.2. I have tried all the following things but it did not work For each application, enter this command: java ... -Dhttps.protocols=TLSv1.1,TLSv1.2 ... Using JAVA_OPTS, enter the following command in your .profile, shell rc (to affect all Java programs run by the user), or conductor.sh (to just affect Datameer): export JAVA_OPTS="${JAVA_OPTS} -Dhttps.protocols=TLSv1.1,TLSv1.2" This is what I did and boom it worked

Attaching remote debugger in Netbeans

I am working on a web application based on Ant,Struts and Java. I wanted a way to debug the live application in my local environment and I found out that attaching remote debugger is the best option. It helps in debugging live application. What is Remote Debugging? The client/server design of the Java  debugger  allows you to launch a Java program from computer on your network and  debug  it from the workstation running the platform. This is particularly useful when you are developing a program for a device that cannot host the development platform [source: eclipse community] How to enable it in Netbeans Open Netbeans IDE Go to Debug option  Click on Attach Debugger  Enter the host name and port number Click OK Note: Make sure you start the application first before attaching the remote debugger