mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-23 02:35:49 +08:00
24 lines
655 B
Go
24 lines
655 B
Go
![]() |
package cred
|
||
|
|
||
|
import "golang.org/x/crypto/bcrypt"
|
||
|
|
||
|
type BcryptCredManager struct{}
|
||
|
|
||
|
func NewBcryptCredManager() *BcryptCredManager {
|
||
|
cm := &BcryptCredManager{}
|
||
|
return cm
|
||
|
}
|
||
|
|
||
|
func (cm *BcryptCredManager) GetHashedPassword(password string, userSalt string, organizationSalt string) string {
|
||
|
bytes, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
|
||
|
if err != nil {
|
||
|
return ""
|
||
|
}
|
||
|
return string(bytes)
|
||
|
}
|
||
|
|
||
|
func (cm *BcryptCredManager) IsPasswordCorrect(plainPwd string, hashedPwd string, userSalt string, organizationSalt string) bool {
|
||
|
err := bcrypt.CompareHashAndPassword([]byte(hashedPwd), []byte(plainPwd))
|
||
|
return err == nil
|
||
|
}
|