go语言base64加密解密的方法
本文实例讲述了go语言base64加密解密的方法。分享给大家供大家参考。具体实现方法如下:
package main
import (
"encoding/base64"
"fmt"
)
const (
base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912"
)
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
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))
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
Go语言对字符串进行MD5加密的方法
本文实例讲述了Go语言对字符串进行MD5加密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "crypto/md5" "fmt" "io" ) func main() { h := md5.New() io.WriteString(h, "welcome to jb51.net") fmt.Printf(&quo
-
go语言使用RC4加密的方法
本文实例讲述了go语言使用RC4加密的方法.分享给大家供大家参考.具体分析如下: 这里需要使用rc4包来实现rc4加密,核心代码如下: 复制代码 代码如下: key := []byte{ 1, 2, 3, 4, 5, 6, 7 } c, err := rc4.NewCipher(key) dst := make([]byte, len(src)) c.XORKeyStream(dst, src) 希望本文所述对大家的Go语言程序设计有所帮助.
-
Go语言MD5加密用法实例
本文实例讲述了Go语言MD5加密用法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import ( "crypto/md5" "encoding/hex" ) func main() { h := md5.New() h.Write([]byte("sharejs.com")) // 需要加密的字符串为 sharejs.com fmt.Printf("%s\n", h
-
go语言实现AES加密的方法
本文实例讲述了go语言实现AES加密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "crypto/aes" "strings" ) func main(){ rb:=[]byte {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}; b:=make([]byte,16); strings.NewReader("123456789012345
-
Go语言实现AzDG可逆加密算法实例
本文实例讲述了Go语言实现AzDG可逆加密算法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "crypto/md5" "encoding/base64" "time" ) var cipher = "密鑰" var h = md5.New() func cipherEncode(sourceText string) stri
-
Golang加密解密之RSA(附带php)
RSA加密算法简史 RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA就是他们三人姓氏开头字母拼在一起组成的. RSA加密算法原理 学过算法的朋友都知道,计算机中的算法其实就是数学运算.所以,再讲解RSA加密算法之前,有必要了解一下一些必备的数学知识.我们就从数学知识开始讲解. 必备数学知识 RSA加密算法中,只用到素数.互质数.指数运算.模运算等
-
Go语言中三种不同md5计算方式的性能比较
前言 本文主要介绍的是三种不同的 md5 计算方式,其实区别是读文件的不同,也就是磁盘 I/O, 所以也可以举一反三用在网络 I/O 上.下面来一起看看吧. ReadFile 先看第一种, 简单粗暴: func md5sum1(file string) string { data, err := ioutil.ReadFile(file) if err != nil { return "" } return fmt.Sprintf("%x", md5.Sum(dat
-
go语言base64加密解密的方法
本文实例讲述了go语言base64加密解密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "encoding/base64" "fmt" ) const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912" ) var coder = base6
-
Java RSA加密解密实现方法分析【附BASE64 jar包下载】
本文实例讲述了Java RSA加密解密实现方法.分享给大家供大家参考,具体如下: 该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar javabase64-1.3.1.jar 本站下载地址. 注意: RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行. RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下异常: Exception in thread "main" javax.cryp
-
python中base64加密解密方法实例分析
本文实例讲述了python中base64加密解密方法.分享给大家供大家参考.具体分析如下: 一.base64 Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符.三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示.它可用来作为电子邮件的传输编码.在Base64中的可打印字符包括字母A-Z.a-z.数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同.编码后的
-
java8版本base64加密解密的实例
首先,先是加密,这里我使用了base64类 try { String asB64 = Base64.getEncoder().encodeToString("http://www.baidu.com".getBytes("utf-8")); System.out.println(asB64); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printSt
-
java实现Base64加密解密算法
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RFC2049,上面有MIME的详细规范.Base64编码可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.
-
python有证书的加密解密实现方法
本文实例讲述了python有证书的加密解密实现方法.分享给大家供大家参考.具体实现方法如下: 最近在做python的加解密工作,同时加完密的串能在php上能解出来,网上也找了一些靠谱的资料,刚好也有时间我就总结了一下python在加密与解密这块的代码,今后可能还能用的上.相对于php而言python这块加解密组件较多的,分别是: python-crypto - 这个组件是基本组件,使用的函式相对比较复杂. ezPyCrypto - 相对简单,但他作出来的公私钥无法与其他程序相兼容 SSL
-
.NET使用RSA加密解密的方法
本文实例为大家分享了.NET使用RSA加密解密的具体代码,供大家参考,具体内容如下 PassWordHelper.cs代码: using System; using System.IO; using System.Text; using System.Globalization; using System.Collections.Generic; using System.Security.Cryptography; namespace Utils { /// <summary> /// 密码
-
JS实现的base64加密解密完整实例
本文实例讲述了JS实现的base64加密解密.分享给大家供大家参考,具体如下: 完整的代码: <HTML> <HEAD> <TITLE>Base64</TITLE> <script language=javascript> var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var base64D
-
PHP简单实现DES加密解密的方法
本文实例讲述了PHP简单实现DES加密解密的方法.分享给大家供大家参考,具体如下: des加密: function des_encrypt($str, $key) { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return mcrypt_encrypt(MCRYPT_DES, $key, $s
-
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
本文实例讲述了php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法.分享给大家供大家参考,具体如下: 由于出于安全考虑,参数传递的时候需要进行加密和解密,一个比较简单的方法是直接使用php中的函数mcrypt_encrypt.mcrypt_decrypt,一个加密,一个解密,但是问题又出现了,这个加密过程中会产生一些使url混乱的符号,于是在加密后对加密字符再进行一次处理,然后多了一一次解析: $key = "miyao";//密钥 $strin
随机推荐
- 写了个Vista的服务优化脚本
- java使用EditText控件时不自动弹出输入法的方法
- Oracle中查看慢查询进度的脚本分享
- Asp.net中获取DataTable选择第一行某一列值
- 使用OPENLAYERS3实现点选的方法
- 关于php中一些字符串总结
- 在QT5中实现求两个输入值的和并输出(实例)
- docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍
- 浅谈Android开发者2017年最值得关注的25个实用库
- 从对象列表中获取一个对象的方法,依据关键字和值
- 用jQuery获取table中行id和td值的实现代码
- 浅谈JavaScript中的属性:如何遍历属性
- 举例理解C语言二维数组的指针指向问题
- 初识 Vue.js 中的 *.Vue文件
- spring定义和装配bean详解
- 关闭Vue计算属性自带的缓存功能方法
- PHP生成加减算法方式的验证码实例
- JointJS流程图的绘制方法
- .NET生成水印更好的方法实例代码
- layui实现数据分页功能(ajax异步)