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)使用相同密钥进行加密和解密 ...
随机推荐
- MySQL统计数据库大小
select concat(truncate(sum(data_length)/1024/1024,2),'mb') as data_size, concat(truncate(sum(max_dat ...
- SPOJ 1812 Longest Common Substring II(后缀自动机)(LCS2)
A string is finite sequence of characters over a non-empty finite set Σ. In this problem, Σ is the s ...
- Mininet实验 基于Mininet测量路径的损耗率
实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为,此外,还可以利用控制器测量路径的损耗率.在本实验中,基于Mininet脚本,设置特定的交换机间的路径损耗速率,然后编 ...
- 重写page的OnInit(学习中总结的)
在写b/s框架的系统的时候,我们会发现,我们经常会在不同的网页中验证Session是否存在,,而我这里没有用Session,用的是MemCache技术,其实它就是键值对. 只不过将Memcache中的 ...
- Hadoop2.6.0伪分布式搭建
环境: 1.Ubuntu14.04 首先要在linux系统上新建一个账户,比如就叫做hadoop,用于专门运行hadoop. 2.配置jdk 我是使用的版本是jdk1.8. 解压:创建/usr/jav ...
- IPad Pro 2018 & sketch
IPad Pro 2018 & sketch https://sketch.cloud/s/MyY5w/LJmLgW
- [Leetcode] Linked list cycle ii 判断链表是否有环
Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follo ...
- 如何在数据访问层上提高js的执行效率
本文讲到的是如何从数据访问层面上提高JS 代码的执行效率.总的来讲有以下几条原则: 函数中读写局部变量总是最快的,而全局变量的读取则是最慢的: 尽可能地少用with 语句,因为它会增加with 语句以 ...
- 近期对于windows服务的理解
1.APP.config的作用 在开发环境下时,根目录下的APP.config里面会填写一些参数之类的.当生成之后,这些参数将会被自动生成在*.exe文件目录中.如图: 其中,.exe文件为Win ...
- 第五届华中区程序设计邀请赛暨武汉大学第十四届校赛 网络预选赛 A
Problem 1603 - Minimum Sum Time Limit: 2000MS Memory Limit: 65536KB Total Submit: 564 Accepted: ...