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)使用相同密钥进行加密和解密 ...
随机推荐
- 2.爬虫 urlib库讲解 异常处理、URL解析、分析Robots协议
1.异常处理 URLError类来自urllib库的error模块,它继承自OSError类,是error异常模块的基类,由request模块产生的异常都可以通过这个类来处理. from urllib ...
- 安装arch系统时,把ubuntu的efi分区格式化
导致无法从grub进入ubuntu,之后我进入win10,把ubuntu的分区都删了. 再重启,只能进入黑色的grub界面,显示 grub>> 甚至无法进入win10.只能通过在开机时按F ...
- RDL/RDLC批量单据打印
使用RDL或RDLC进行单据打印时,单张单据打印比较直观简单,无需说明.下面我们来谈一下批量单据打印的实现方法.以下以RDL的ReportBuilder设计环境为例进行讲解,RDLC.VS设计环境同理 ...
- AM5728通过GPMC接口与FPGA高速数据通信实现
硬件:AM5728开发板:Artix-7开发板软件:Linux am57xx-evm 4.4.19:Vivado 2015.2作者:杭州矢志信息科技有限公司邮箱:admin@sysjoint.com ...
- gitbook.explore更新升级了, 不能再搜索了
www.gitbook.com/explore 不再是一个索引页面 Can I browse existing projects on GitBook ? The new version of Git ...
- UVA 437 The Tower of Babylon(DAG上的动态规划)
题目大意是根据所给的有无限多个的n种立方体,求其所堆砌成的塔最大高度. 方法1,建图求解,可以把问题转化成求DAG上的最长路问题 #include <cstdio> #include &l ...
- Jquery tmpl详解
Jquery tmpl是动态请求数据来更新页面非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 ...
- kali linux下的常用bash命令
虚拟机版本默认用户root 密码toor ls:显示当前目录包含的文件及文件夹 ls -l:以常规格式显示当前目录包含的文件及文件夹(开头字母解释:d:目录 -:文件 c:设备文件 l:链接 b:块设 ...
- Struts1文件上传
package org.zln.struts.domain; import org.apache.struts.upload.FormFile; /** * Created by sherry on ...
- Android中常见的坑有哪些?
对于安卓开发入门级程序猿而言,由于不熟悉代码.工具等等,掉进一些坑中是难免的,今天小编在网上看到一位大神总结的Android开发中比较常见的坑及其原因和解决办法,赶脚还不错,分享出来,给大家提个醒. ...