zoukankan      html  css  js  c++  java
  • 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
    ", 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
    ", 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")))
    
  • 相关阅读:
    Python基础知识
    Oracle 总结
    Linux基本命令
    测试理论
    计算机基础
    http常见的状态码,400,401,403状态码分别代表什么?
    html
    day21 包
    day20 模块引入的一些说明
    我又回来了???
  • 原文地址:https://www.cnblogs.com/haima/p/12936240.html
Copyright © 2011-2022 走看看