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")))
    
  • 相关阅读:
    ARM中断(一)
    窗口置顶小工具
    volatile关键字
    IIC总线
    ARM中断(三)
    BootLoader —— S3C2440
    视频那些事
    [轉]簡單的顯示隱藏實現
    Apache Service Monitor Start按鈕变灰 的解决方法
    [转载]经典java转码程序,实现native2ascii命令行的功能
  • 原文地址:https://www.cnblogs.com/haima/p/12936240.html
Copyright © 2011-2022 走看看