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)使用相同密钥进行加密和解密 ...
随机推荐
- u盘中毒后文件夹没显示了
今日,我的U盘插了有毒的电脑,直接中毒了,先是显示有木马,后是自行产生一些文件,接着文件夹没了,后来自己终于解决了,分享一下,自己先用工具将有嫌疑的文件提炼出来,经自行检查后处理,接着打开文件夹选项, ...
- shell 中的expect 用法
expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: ...
- UVA 437 The Tower of Babylon(DAG上的动态规划)
题目大意是根据所给的有无限多个的n种立方体,求其所堆砌成的塔最大高度. 方法1,建图求解,可以把问题转化成求DAG上的最长路问题 #include <cstdio> #include &l ...
- Linux nohup 后台运行命令
有一些爬虫的程序需要在后台运行,所以简单总结了一下nohup 的一些用法 基本命令:nohup command $; 运行之后出现nohup: ignoring input and appendin ...
- C++-STL:vector用法总结
目录 简介 用法 1. 头文件 2. vector的声明及初始化 3. vector基本操作 简介 vector,是同一类型的对象的集合,这一集合可看作可变大小的数组,是顺序容器的一种.相比于数组,应 ...
- UITableView性能优化【本文摘自智车芯官网】
UITableView是个表格视图,可以在表格行空间中添加多个子控件,UITableView继承了UIScrollView,默认状态下可以堆单元格进行滚动,所有的UITableViewControll ...
- postman工具【接口自动化测试关于断言】
在使用postman工具进行接口自动化时我们经常需要断言来进行判断,结果到底是成功还是失败. 但在collection runner/Newman里如果不加断言,跑完后都无法知道是成功还是失败 断言是 ...
- Asp.Net生命周期系列一
Asp.Net生命周期对于初级甚至中级程序员来说,一直都是一个难题,很多程序员不了解生命周期,导致使用Asp.Net做开发感觉很不灵活,感觉太多东西被微软封装好了,我们不能改变,其实只要你稍微了解一下 ...
- CodeForces Round #521 (Div.3) E. Thematic Contests
http://codeforces.com/contest/1077/problem/E output standard output Polycarp has prepared nn competi ...
- Jira & filter & subscribe & issues
Jira & filter & subscribe & issues https://confluence.atlassian.com/search/?query=subscr ...