golang中sha256、md5加密,base64encode、base64decode
const (
RANDOM_STR = "qwertyuioplkjhgfdsazxcvbnm123456789.+-*/0=_-)(*&^%$#@!~"
)
//小写的
func Md5Encode(data string) string{
h := md5.New()
h.Write([]byte(data)) // 需要加密的字符串为 123456
cipherStr := h.Sum(nil)
return hex.EncodeToString(cipherStr)
}
//大写
func MD5Encode(data string) string{
return strings.ToUpper(Md5Encode(data))
}
func ValidatePasswd(plainpwd,salt,passwd string) bool{
return Md5Encode(plainpwd+salt)==passwd
}
func MakePasswd(plainpwd,salt string) string{
return Md5Encode(plainpwd+salt)
}
func GenerateSalt(length int) (str string) {
// 生成指定位数的随机字符串
rand.Seed(time.Now().UnixNano()) // 随机种子
for i := 0; i < length; i++ {
ii := rand.Intn(len(RANDOM_STR))
str += string(RANDOM_STR[ii])
}
return
}