golang进行加密
crc64加密
package main import ( "fmt" "hash/crc64" ) func main(){ s:="打死udhanckhdkja" //先创建一个table table := crc64.MakeTable(crc64.ECMA) //传入字节切片和table,返回一个uint64 fmt.Println(crc64.Checksum([]byte(s), table)) //4295263180068867775 }
md5加密
package main import ( "crypto/md5" "encoding/hex" "fmt" ) func main(){ //方法一: s:="udhanckhdkja" //返回字节切片,长度为16 res := md5.Sum([]byte(s)) //注意此时不可以使用string(res)来转化,会得到乱码 //要使用hex.EncodeToString,但是要传入切片 fmt.Println(hex.EncodeToString(res[:]))//538a7e42c664f84d1dba984976489311 //方法二: md5ctx := md5.New() md5ctx.Write([]byte(s)) res1 := md5.Sum(nil) fmt.Println(hex.EncodeToString(res1[:]))//d41d8cd98f00b204e9800998ecf8427e }
base64加密
package main import ( "encoding/base64" "fmt" ) func string_b64_encode(s string){ encodeString := base64.StdEncoding.EncodeToString([]byte(s)) fmt.Println(encodeString) decodeString, err:= base64.StdEncoding.DecodeString(encodeString) if err!=nil{ fmt.Println("err=",err) } fmt.Println(string(decodeString)) } func url_b64_encode(url string){ encodeString := base64.URLEncoding.EncodeToString([]byte(url)) fmt.Println(encodeString) decodeString, err:= base64.URLEncoding.DecodeString(encodeString) if err!=nil{ fmt.Println("err=",err) } fmt.Println(string(decodeString)) } func main(){ string_b64_encode("satori") /* c2F0b3Jp satori */ url_b64_encode("http://www.baidu.com") /* aHR0cDovL3d3dy5iYWlkdS5jb20= http://www.baidu.com */ }
golang进行加密的更多相关文章
- golang md5加密和python md5加密比较
python md5加密和golang md5加密各有不同,记录于此做备忘 Python 方法 md5 import base64 import hashlib def get_md5_data(bo ...
- [Golang] base64加密与解密
首先解释以下什么是base64(来自百度百科): Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RFC2049,上面有MIME的详细规范.Base64 ...
- golang 私钥"加密"公钥"解密"
---恢复内容开始--- 之前工作主要使用C/C++与银行/第三方支付对接,但C/C++无法满足客户"当天给协议明天实盘上载"的开发速度以及现公司一些特殊情况,所以决定用go来 ...
- golang rc4加密
package main import "crypto/rc4" import "fmt" func main() { key := []byte(" ...
- golang RSA2加密/解密
$go get github.com/wenzhenxi/gorsa test.go文件的内容 运行: $go run test.go package main import ( "fmt& ...
- Golang AES加密
package main import ( "crypto/aes" "crypto/cipher" "fmt" "os" ...
- golang 的md5加密
先看实现代码: package main import ( "crypto/md5" "encoding/hex" "fmt& ...
- Golang 加密方法
如果想直接使用我下列的库 可以直接go get 我的github go get -u github.com/hybpjx/InverseAlgorithm md5 加密--不可逆 MD5信息摘要算法是 ...
- 通过Go实现AES加密和解密工具
本文包含如下两个内容: AES加密介绍及实现原理 Go实现AES加密和解密工具 AES加密介绍及实现原理 AES( advanced encryption standard)使用相同密钥进行加密和解密 ...
随机推荐
- ubuntu中 VI 方向键、删除键问题
这两天重新装的ubuntu系统,发觉使用VI时,方向键按下去后变成ABCD,删除键无效.网上搜寻一番,应该是VI软件本身的问题,顾卸载重装即可,步骤如下: 1.执行命令 sudo apt-get re ...
- Pro Git - 笔记1
Getting Started About Version Control Local Version Control Systems Centralized Version Control Syst ...
- 二分图最大权匹配:Kuhn-Munkres算法
http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646535.html
- markdown(自己看)
https://www.cnblogs.com/james-lee/p/6847906.html https://maxiang.io/
- truffle开发一个简单的Dapp
1.安装Truffle:npm install -g truffle 2.建立项目目录并进入:mkdir pet-shop-tutorial cd pet-shop-tutorial 3.使用truf ...
- 本周学习总结JAVA
6. 为如下代码加上异常处理 byte[] content = null; FileInputStream fis = new FileInputStream("testfis.txt&qu ...
- Aspose.words 替换字符 操作
var path = Server.MapPath("~/doc/demo.doc"); Document doc = new Document(path); DocumentBu ...
- JVM GC Q&A(补充ing)
1.如果一个对象没有与其相连的GC ROOT,一定会被回收吗? 这个对象并非是非死不可的,这时他只是处于死缓阶段,要真正宣告一个对象的死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现并没有 ...
- 2018牛客多校第一场 A.Monotonic Matrix
题意: 给一个n*m的矩阵赋值(0,1,2).使得每个数都不小于它左面和上面的数. 题解: 构建0和1的轮廓线.对于单独的轮廓线,共需要往上走n步,往右走m步.有C(n+m,n)种方式. 两个轮廓线的 ...
- BZOJ_day5
32题...今天颓了不想再写了