zoukankan      html  css  js  c++  java
  • [Golang] base64加密与解密

      首先解释以下什么是base64(来自百度百科):

      Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

      在golang里有base64库可以实现相关操作,我尝试实现了加密解密的功能。

      同时我认为他们也可以用于聊天信息的传输。

    func Decode(raw []byte) []byte {
    	var buf bytes.Buffer
    	decoded := make([]byte, 215)
    	buf.Write(raw)
    	decoder := base64.NewDecoder(base64.StdEncoding, &buf)
    	decoder.Read(decoded)
    	return decoded
    }
    
    func Encode(raw []byte) []byte {
    	var encoded bytes.Buffer
    	encoder := base64.NewEncoder(base64.StdEncoding, &encoded)
    	encoder.Write(raw)
    	encoder.Close()
    	return encoded.Bytes()
    }
  • 相关阅读:
    洛谷 题解 P5595 【【XR-4】歌唱比赛】
    洛谷 题解 CF1151D 【Stas and the Queue at the Buffet】
    洛谷 题解 CF299A 【Ksusha and Array】
    仙人掌找环
    2-SAT
    带花树
    帮我背单词
    csp2019退役祭
    P5284 [十二省联考2019]字符串问题 题解
    【网络流24题】魔术球问题
  • 原文地址:https://www.cnblogs.com/kirai/p/5745258.html
Copyright © 2011-2022 走看看