Skip to main content

MD5 Hashed code differs by datatype in SQLServer HASHBYTES ( algm, str) function


Issue:
 HASHBYTES ( algm, str) function generated hash code differ from regular/ other MD5 programs by the data type. 

Data: 'mypassword1'
 If you pass a variable as below as mentioned in the link in 'Ref' below,

 DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'mypassword1');
SELECT HASHBYTES('MD5', @HashThis );
GO


---- This will generate a Hashed code : 
0xBAE02911AA20CACE81224DCA98610B05

If you try the same in different MD5 generator tool like this website :  Type 'mypassword1'
http://www.miraclesalad.com/webtools/md5.php

---- the generated Hashed code will be, 
0d28e4080dc8f64fc9603639bb7aa1b9

Hashcodea are different.


Cause:
SQL Server differs the algorithm by the data type - here it is not just string , it is nvarchar / varchar - SQL Server adds up spaces or truncate them as to the size of the data.

DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'mypassword1');
SELECT HASHBYTES('MD5', @HashThis );


But in MYSQL Database you can use 
select md5('mypassword1') ;  and get the right Hashcode generated.

Fix:
1. Use the right size and  data type. or

2. Use the string directly in the function parameter.
SELECT HASHBYTES('MD5', 'mypassword1' );
Go

---- the generated Hashed code will be,
0x0D28E4080DC8F64FC9603639BB7AA1B9

Ref:
To Hash a data / password in SQL Server you could use 


HASHBYTES ( '<algorithm>', { @input | 'input' } ) 

<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512 
Microsoft Link:
http://technet.microsoft.com/en-us/library/ms174415.aspx

http://www.miraclesalad.com/webtools/md5.php

Comments

Popular posts from this blog

LLM on Mobile Phone : Mini Universal data and assistant running on an android smart phone Galaxy S23

  Imagine a world where everyone has access to a mini #OpenAI's #ChatGPT on their mobile phone, answering any question on any topic, right from their local phone memory. No need for internet. This is the future of #LLMs on mobile devices, and it's happening now. #MLC-AI has created a way to install a 3 billion parameter #RedPajam #LLMModel on a #Galaxy #S23 smartphone. This is a powerful #LLM that can generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way. And it's all available on your phone, without the need for an internet connection. This could have a profound impact on people all over the world. Millions of suburban students who don't have access to the internet could now have access to a universal data source that can answer most of their questions. Refugee camps around the world could also benefit from this technology, giving refugees access to information and resources that they might not ot...

Ohmni robot disassembly - Parts and structure inside Ohmni Telepresence Robot - Tear down

    The tablet, speakers were disconnected and removed in different video.    Ohmni robot disassembly - Parts and structure inside Ohmni Telepresence - Design - Mechonical and Electrical components .

Setting up Rassberry Pi Zero W 1/2 with USB (not using hdmi) On MAC

Copy  Rassberry Pi zero image (pi 3 image also supported on pi zero) on a SD card https://www.raspberrypi.com/software/     From mac - Finder - open SD card . It opens the root folder We will edit or create 4 files:  config.txt cmdline.txt ssh wifi   config.txt At the bottom of the file add this line dtoverlay=dwc2 cmdline.txt add this line between rootwait  ........  quiet . Should look  like this, rootwait modules-load=dwc2,g_ether quiet   ssh create an emptyfile named ssh (no extensions)   wifi : (pi zero can connect only to 2.5gh Unless you update your firmware) create this file in root : wpa_supplicant.conf   add this lines to the file - with your own wifi credentials country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="*******" psk="********" }  Insert sd card in raspberry pi  zero w , and connect from pc with, ...