当前位置: 代码迷 >> Sql Server >> SQL MD5的纳闷
  详细解决方案

SQL MD5的纳闷

热度:95   发布时间:2016-04-24 10:10:34.0
SQL MD5的疑惑
DECLARE @IDNO NVARCHAR(50)
        SELECT @IDNO='19270094'
        
        SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', @IDNO)),3,32)    --32位  
        SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', '19270094')),3,32)    --32位
        
        SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', @IDNO)),11,16)   --16位
        SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', '19270094')),11,16)   --16位

这有什么区别??
------解决方案--------------------
你试试这样:
DECLARE @IDNO nvarchar(50)
         set @IDNO='19270094'
         
         SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', @IDNO)),3,32)    --32位  
         SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5',convert(nvarchar,'19270094'))),3,32)    --32位
        

原因还在分析
  相关解决方案