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进行加密的更多相关文章

  1. golang md5加密和python md5加密比较

    python md5加密和golang md5加密各有不同,记录于此做备忘 Python 方法 md5 import base64 import hashlib def get_md5_data(bo ...

  2. [Golang] base64加密与解密

    首先解释以下什么是base64(来自百度百科): Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RFC2049,上面有MIME的详细规范.Base64 ...

  3. golang 私钥"加密"公钥"解密"

    ---恢复内容开始---   之前工作主要使用C/C++与银行/第三方支付对接,但C/C++无法满足客户"当天给协议明天实盘上载"的开发速度以及现公司一些特殊情况,所以决定用go来 ...

  4. golang rc4加密

    package main import "crypto/rc4" import "fmt" func main() { key := []byte(" ...

  5. golang RSA2加密/解密

    $go get github.com/wenzhenxi/gorsa test.go文件的内容 运行: $go run test.go package main import ( "fmt& ...

  6. Golang AES加密

    package main import ( "crypto/aes" "crypto/cipher" "fmt" "os" ...

  7. golang 的md5加密

    先看实现代码: package main import (     "crypto/md5"     "encoding/hex"     "fmt& ...

  8. Golang 加密方法

    如果想直接使用我下列的库 可以直接go get 我的github go get -u github.com/hybpjx/InverseAlgorithm md5 加密--不可逆 MD5信息摘要算法是 ...

  9. 通过Go实现AES加密和解密工具

    本文包含如下两个内容: AES加密介绍及实现原理 Go实现AES加密和解密工具 AES加密介绍及实现原理 AES( advanced encryption standard)使用相同密钥进行加密和解密 ...

随机推荐

  1. xshell连接不到虚拟机,安装ssh服务

    刚安装的虚拟机镜像是Ubuntu 16.04版本,防火墙已经关闭. 测试: 检查虚拟机分配的ip地址. 1.虚拟机ping宿主机:可以ping通 2.宿主机ping虚拟机:可以ping通 3.检查网络 ...

  2. liniux备忘录-磁盘配额与进阶文件系统管理

    知识 磁盘配额Quota 可以限制磁盘的使用容量,可以对用户.群组磁盘的最大使用容量. 磁盘配额Quota的使用限制 只能针对整个文件系统. 核心必须支持Quota. 自行编译的核心需要注意 Quot ...

  3. HDU 3699 A hard Aoshu Problem(暴力枚举)(2010 Asia Fuzhou Regional Contest)

    Description Math Olympiad is called “Aoshu” in China. Aoshu is very popular in elementary schools. N ...

  4. HDU 4569 Special equations(枚举+数论)(2013 ACM-ICPC长沙赛区全国邀请赛)

    Problem Description Let f(x) = anxn +...+ a1x +a0, in which ai (0 <= i <= n) are all known int ...

  5. NO4——并查集

    int find(int x) { int r = x; while(father[r]!=r) r = father[r]; return r; } /* int find(int x) { if( ...

  6. java05笔记

  7. C++——设计与演化——读书笔记

    <<c++设计与演化>>1.c++的保护模式来自于访问权限许可和转让的概念; 初始化和赋值的区分来自于转让能力的思考; c++的const概念是从读写保护机制中演化出来. 2. ...

  8. [ST表/贪心] NOI2010 超级钢琴

    [NOI2010]超级钢琴 题目描述 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i ...

  9. [hdu 4348]区间修改区间查询可持久化线段树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4348 一开始把lazy标记给push_down了,后来发现这样会让持久化变乱,然后想到不用push_d ...

  10. [poj 2274]后缀数组+最长公共子串

    题目链接:http://poj.org/problem?id=2774 后缀数组真的太强大了,原本dp是O(nm)的复杂度,在这里只需要O(n+m). 做法:将两个串中间夹一个未出现过的字符接起来,然 ...