Reputation: 17418
I am trying to create a unique hash like this:
SELECT
CAST(HASHBYTES('SHA1',
LTRIM(RTRIM(ISNULL('9',''))) +
LTRIM(RTRIM(isnull('X',''))) +
LTRIM(RTRIM(isnull('',''))) +
LTRIM(RTRIM(isnull('Y',''))) +
LTRIM(RTRIM(isnull('','')))) AS VARBINARY(20))
SELECT
CAST(HASHBYTES('SHA1',
LTRIM(RTRIM(isnull('9',''))) +
LTRIM(RTRIM(isnull('X',''))) +
LTRIM(RTRIM(isnull('Y',''))) +
LTRIM(RTRIM(isnull('',''))) +
LTRIM(RTRIM(isnull('','')))) AS VARBINARY(20))
Unfortunately, I end up with the same hash despite different strings. Any ideas why?
PS:
This solves the above 'issue':
SELECT LTRIM(RTRIM(ISNULL('9', '-'))) + N',' + LTRIM(RTRIM(ISNULL('X', '-')))
+ N',' + LTRIM(RTRIM(ISNULL('', '-'))) + N',' + LTRIM(RTRIM(ISNULL('Y',
'-'))) + N','
+ LTRIM(RTRIM(ISNULL('', '-'))) ,
CAST(HASHBYTES('SHA1',
LTRIM(RTRIM(ISNULL('9', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('X', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('Y', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('', '-')))) AS VARBINARY(20))
SELECT LTRIM(RTRIM(ISNULL('9', '-'))) + N',' + LTRIM(RTRIM(ISNULL('X', '-')))
+ N',' + LTRIM(RTRIM(ISNULL('Y', '-'))) + N',' + LTRIM(RTRIM(ISNULL('',
'-'))) + N','
+ LTRIM(RTRIM(ISNULL('', '-'))) ,
CAST(HASHBYTES('SHA1',
LTRIM(RTRIM(ISNULL('9', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('X', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('Y', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('', '-'))) + N','
+ LTRIM(RTRIM(ISNULL('', '-')))) AS VARBINARY(20))
Upvotes: 1
Views: 53
Reputation: 51705
Because there are not different strigns:
LTRIM(RTRIM(ISNULL('9',''))) +
LTRIM(RTRIM(isnull('X',''))) +
LTRIM(RTRIM(isnull('',''))) +
LTRIM(RTRIM(isnull('Y',''))) +
LTRIM(RTRIM(isnull('',''))))
-- is the same of
LTRIM(RTRIM(isnull('9',''))) +
LTRIM(RTRIM(isnull('X',''))) +
LTRIM(RTRIM(isnull('Y',''))) +
LTRIM(RTRIM(isnull('',''))) +
LTRIM(RTRIM(isnull('',''))))
-- that is the same of
'9XY'
Upvotes: 5