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)使用相同密钥进行加密和解密 ...
随机推荐
- 机器视觉必知-GenICam相机通用接口标准
机器视觉必知-GenICam相机通用接口标准 GenICam(相机通用接口): 一种通用软件接口 通用相机接口标准 目前机器视觉行业所使用的相机几乎均以相同方式来进行配置,即:---通过在注册表中的读 ...
- PAT——乙级1006:换个格式输出整数&乙级1021:个位数统计&乙级1031:查验身份证
1006 换个格式输出整数 (15 point(s)) 让我们用字母 B 来表示“百”.字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 ...
- CentOS安装Harbor
CentOS版本:7.4 Harbor版本:1.5.0 Docker版本:1.12.6 Docker Compose版本:1.21.2 一.安装Harbor(http方式,80端口) 1.安装Dock ...
- HDU 4468 Spy(KMP+贪心)(2012 Asia Chengdu Regional Contest)
Description “Be subtle! Be subtle! And use your spies for every kind of business. ”― Sun Tzu“A spy w ...
- 软工实践 - 第二十三次作业 Beta 冲刺(1/7)
队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/10093337.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过 ...
- 【翻译】ASP.NET Core 入门
ASP.NET Core 入门 原文地址:Introduction to ASP.NET Core 译文地址:asp.net core 简介 翻译:ganqiyin ...
- CSS3基础选择器
/*选择器分组:多个选择器使用同一个样式*/ h1,h2,a{ color: blue; } strong{ color: aquamarine; } /*选择器继承:body中未设置样式的会使用继承 ...
- C#中的String.Format方法
定义String.Format是将指定的String类型的数据中的每个格式项替换为相应对象的值的文本等效项.(1)string p1="xiaomeng";string p2=&q ...
- BZOJ1037 ZJOI2008生日聚会(动态规划)
设f[i][j][x][y]为安排了i个男孩j个女孩,后缀最大男孩-女孩数为x,最大女孩-男孩数为y的方案数.转移显然. #include<iostream> #include<cs ...
- Codeforces Round #553 F Sonya and Informatics
题目 题目大意 给定一个长为 $n$($2 \le n \le 100$)的01串 $S$ .对 $S$ 进行 $k$($1 \le k \le 10^9$)次操作:等概率地选取两个下标 $i, j$ ...