18 lines
		
	
	
		
			426 B
		
	
	
	
		
			Go
		
	
	
	
		
		
			
		
	
	
			18 lines
		
	
	
		
			426 B
		
	
	
	
		
			Go
		
	
	
	
| 
								 | 
							
								package users
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"golang.org/x/crypto/bcrypt"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// HashPwd hashes a password.
							 | 
						||
| 
								 | 
							
								func HashPwd(password string) (string, error) {
							 | 
						||
| 
								 | 
							
									bytes, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
							 | 
						||
| 
								 | 
							
									return string(bytes), err
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// CheckPwd checks if a password is correct.
							 | 
						||
| 
								 | 
							
								func CheckPwd(password, hash string) bool {
							 | 
						||
| 
								 | 
							
									err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password))
							 | 
						||
| 
								 | 
							
									return err == nil
							 | 
						||
| 
								 | 
							
								}
							 |