• [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()
    }
  • 相关阅读:
    2017D 方格分割
    2017B 等差素数列
    完全平方数
    K-th Number(二分答案+尺取法判断)
    cf634div3
    performSelector: 与 dispatch_time 异同
    UIButton 的属性与方法
    Node.js 学习笔记三
    [2019杭电多校第一场][hdu6578]Blank(dp)
    [2019杭电多校第一场][hdu6582]Path(最短路&&最小割)
  • 原文地址:https://www.cnblogs.com/kirai/p/5745258.html
Copyright © 2020-2023  润新知