@@ -1,17 +1,21 @@
|
|||||||
package srun
|
package srun
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/hmac"
|
||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
"crypto/sha1"
|
"crypto/sha1"
|
||||||
|
"encoding/hex"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Md5 编码
|
// Md5 编码
|
||||||
func Md5(content string) string {
|
func Md5(token, password string) (string, error) {
|
||||||
w := md5.New()
|
mac := hmac.New(md5.New, []byte(token))
|
||||||
_, _ = io.WriteString(w, content)
|
_, err := mac.Write([]byte(password))
|
||||||
return fmt.Sprintf("%x", w.Sum(nil))
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return hex.EncodeToString(mac.Sum(nil)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sha1 编码
|
// Sha1 编码
|
||||||
|
|||||||
@@ -96,7 +96,10 @@ func (c Srun) DoLogin(clientIP string) error {
|
|||||||
infoPrefix = fmt.Sprintf("{%s}", c.LoginInfo.Meta.InfoPrefix)
|
infoPrefix = fmt.Sprintf("{%s}", c.LoginInfo.Meta.InfoPrefix)
|
||||||
}
|
}
|
||||||
EncryptedInfo := infoPrefix + Base64(XEncode(string(info), tokenStr))
|
EncryptedInfo := infoPrefix + Base64(XEncode(string(info), tokenStr))
|
||||||
Md5Str := Md5(tokenStr)
|
Md5Str, err := Md5(tokenStr, c.LoginInfo.Form.Password)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
EncryptedMd5 := "{MD5}" + Md5Str
|
EncryptedMd5 := "{MD5}" + Md5Str
|
||||||
EncryptedChkstr := Sha1(
|
EncryptedChkstr := Sha1(
|
||||||
tokenStr + c.LoginInfo.Form.Username + tokenStr + Md5Str +
|
tokenStr + c.LoginInfo.Form.Username + tokenStr + Md5Str +
|
||||||
|
|||||||
Reference in New Issue
Block a user