Golang、python中MD5、SHA512、base64编码等
在GO中处理的话,比较方便。
func main() {
fmt.Println(md5Str("woGo"))
fmt.Println(sha512Str("woGo"))
fmt.Println(base64DecodeStr(base64EncodeStr("fd")))
}
//md5验证
func md5Str(src string) string {
h := md5.New()
h.Write([]byte(src)) //
//fmt.Printf("%s\n", hex.EncodeToString(h.Sum(nil))) // 输出加密结果
return hex.EncodeToString(h.Sum(nil))
}
//sha512验证
func sha512Str(src string) string {
h := sha512.New()
h.Write([]byte(src)) //
//fmt.Printf("%s\n", hex.EncodeToString(h.Sum(nil))) // 输出加密结果
return hex.EncodeToString(h.Sum(nil))
}
//base编码
func base64EncodeStr(src string) string {
return string(base64.StdEncoding.EncodeToString([]byte(src)))
}
//base解码
func base64DecodeStr(src string) string {
a, err := (base64.StdEncoding.DecodeString(src))
if err != nil {
return "error"
}
return string(a)
}
而在python中的话,也就是短短几句代码
import hashlib,base64
src =b"woGo"
m= hashlib.md5()
m.update(src)
print (m.hexdigest())
print(hashlib.sha512(src).hexdigest())
其实来说无论是GO语言还是python,在解码的时候,需要加个异常处理。
print(base64.b64encode(b"fd"))
print(base64.b64decode(base64.b64encode(b"fd")))
[Haima的博客]
http://www.cnblogs.com/haima/