Please start any new threads on our new 
    site at https://forums.sqlteam.com.  We've got lots of great SQL Server
    experts to answer whatever question you can come up with. 
    
        
            
                
                    
                        
                            
                                | Author | 
                                
                                 Topic  | 
                             
                            
                                    | 
                                         simonrl 
                                        Starting Member 
                                         
                                        
                                        3 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2015-04-29 : 07:28:06
                                            
  | 
                                             
                                            
                                            Hi allI've been reading up on storing hashed passwords and am having some trouble getting a login from a hashed and salted password.I've stripped this down to bare minimum to explain the problem so I'm calling a SP using:spCreateAdminLogin 'password', 'wibble' (in practice the salt will be a 16 character GUID)The business part of the SP does:INSERT INTO tblLogins (txtPassword, txtGUID) VALUES(HashBytes('SHA2_512', @Password+@Salt), @Salt)I'm using SHA2_512 after reading up on hashing. The column txtPassword is data type varbinary(128) and if I run:SELECT * FROM tblLogins  I can see the binary data and I can confirm it's the same 128 character string generated each time from the passed in @Password = 'password' and @Salt = 'wibble'So far so good...Now to return the data. Before I get onto doing an actual login I just wanted to check if I can return the data directly in Management Studio.So I ran:SELECT * FROM tblLogins WHERE txtPassword = HashBytes('SHA2_512', 'passwordwibble')Which returned 0 rows.I also tried:SELECT * FROM tblLogins WHERE txtPassword = CAST(HashBytes('SHA2_512', 'passwordwibble') AS VARCHAR(128))Which also returned 0 rows.I think I've got the data type correct, the hashed and salted password is being stored correctly and is being generated the same for the same passed in password and salt; but I can't return the data.Am I missing something glaringly obvious here?Thanks,Simon | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     SwePeso 
                                    Patron Saint of Lost Yaks 
                                     
                                    
                                    30421 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2015-04-29 : 10:49:04
                                          
  | 
                                         
                                        
                                          Is @Password or @Salt NVARCHAR by chance? Microsoft SQL Server MVP, MCT, MCSE, MCSA, MCP, MCITP, MCTS, MCDBA  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     SwePeso 
                                    Patron Saint of Lost Yaks 
                                     
                                    
                                    30421 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2015-04-29 : 10:54:27
                                          
  | 
                                         
                                        
                                          [code]SELECT	HASHBYTES('SHA2_512', N'Microsoft MVP')UNIONSELECT	HASHBYTES('SHA2_512', 'Microsoft MVP')[/code] Microsoft SQL Server MVP, MCT, MCSE, MCSA, MCP, MCITP, MCTS, MCDBA  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     simonrl 
                                    Starting Member 
                                     
                                    
                                    3 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2015-04-29 : 11:04:09
                                          
  | 
                                         
                                        
                                          quote: [code]SELECT HASHBYTES('SHA2_512', N'Microsoft MVP')
  Thank you very much SwePeso that sorted it!The N presumably means nvarchar?  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     SwePeso 
                                    Patron Saint of Lost Yaks 
                                     
                                    
                                    30421 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2015-04-30 : 02:37:11
                                          
  | 
                                         
                                        
                                          Yes, it does. Microsoft SQL Server MVP, MCT, MCSE, MCSA, MCP, MCITP, MCTS, MCDBA  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |   
     
     
            
              
	     |  
		
			
     
          
		 |