• You must not use CAST(... AS NVARCHAR(32)), that would remove the 2 last characters

    -- with SqlServer 2005

    DECLARE @md5 VARCHAR(32)

    DECLARE @string varchar(10)

    SET @string = 'Davolio'

    SELECT

    HashBytes('MD5',@string ),

    master.dbo.fn_varbintohexstr(HashBytes('MD5',@string )),

    SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5',@string )),3,32 ),

    SUBSTRING(CAST(master.dbo.fn_varbintohexstr(HashBytes('MD5',@string )) AS NVARCHAR(32)),3,32 )