base64 加密解密 golang (转)

984195889 · 2014-10-04 19:27:36 · 4033 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2014-10-04 19:27:36 的文章,其中的信息可能已经有所发展或是发生改变。

http://www.linuxidc.com/Linux/2014-06/103843.htm


package main

import (
    "encoding/base64"

    "fmt"
)

const (
    base64Table = "1230QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr2345601789120"
)

var coder = base64.NewEncoding(base64Table)

func base64Encode(src []byte) []byte {

    return []byte(coder.EncodeToString(src))

}

func base64Decode(src []byte) ([]byte, error) {

    return coder.DecodeString(string(src))

}

func main() {

    // encode

    hello := "hello world"

    debyte := base64Encode([]byte(hello))

    // decode
    fmt.Println(string(debyte))

    enbyte, err := base64Decode(debyte)

    if err != nil {

        fmt.Println(err.Error())

    }

    if hello != string(enbyte) {

        fmt.Println("hello is not equal to enbyte")

    }

    fmt.Println(string(enbyte))
}


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:984195889

查看原文:base64 加密解密 golang (转)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4033 次点击  
加入收藏 微博
1 回复  |  直到 2000-01-01 00:00:00
StevenChen96
StevenChen96 · #1 · 9年之前

执行报错了 ---> var coder = base64.NewEncoding(base64Table)

panic: encoding alphabet is not 64-bytes long

goroutine 1 [running]:
panic(0x4cda00, 0xc082002280)
    D:/Program Files/Go/src/runtime/panic.go:481 +0x3f4
encoding/base64.NewEncoding(0x53faa0, 0x42, 0xc082008070)
    D:/Program Files/Go/src/encoding/base64/base64.go:42 +0x81
main.init()
    F:/VoiceInteraction/src/com/github/ChenHao96/VoiceInteraction/Test.go:13 +0x6c
exit status 2
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传