Files
web-core-fr-gp/auth/pass.go
T

22 lines
546 B
Go

package auth
import "golang.org/x/crypto/bcrypt"
func clear(b []byte) {
for i := 0; i < len(b); i++ {
b[i] = 0
}
}
func HashPass(password []byte) ([]byte, error) {
// Clear memory where plaintext password was stored.
// http://stackoverflow.com/questions/18545676/golang-app-engine-securely-hashing-a-users-password#comment36585613_19828153
defer clear(password)
// Return hash
return bcrypt.GenerateFromPassword(password, 12)
}
func Authenticated(hash, pass []byte) bool {
return bcrypt.CompareHashAndPassword(hash, pass) == nil
}