文档章节

Go笔记-加密

漂泊尘埃
 漂泊尘埃
发布于 2017/02/27 16:38
字数 210
阅读 39
收藏 0

md5

  • 方式1
md5.Sum([]byte)
  • 方式2
hash := md5.New()
hash.Write([]byte)
hash.Sum(nil)

不同:

  1. 方式1返回的是 [Size]byte 类型的数组而不是切片
  2. 方式2: Write函数会把MD5对象内部的字符串clear掉,然后把其参数作为新的内部字符串。而Sum函数则是先计算出内部字符串的MD5值,而后把输入参数附加到内部字符串后面。

坑:

md5.New().Sum([]byte)

这种方式是先加密空字符串,然后将结果附加到了Sum的参数中,和没有加密一样。

sha3

import (
	"encoding/base64"
	"golang.org/x/crypto/sha3"
)

// 对用户密码进行编码。若密码明文为空字符串,则也会返回空字符串。
func EncodePassword(cleartext string) string {
	if cleartext == "" {
		return ""
	}
	h := make([]byte, 64)
	sha3.ShakeSum256(h, []byte(cleartext))
	return base64.StdEncoding.EncodeToString(h)
}

© 著作权归作者所有

共有 人打赏支持
上一篇: Go笔记-数据库
漂泊尘埃

漂泊尘埃

粉丝 5
博文 35
码字总数 70992
作品 0
朝阳
私信 提问
开源 Evernote 替代品--Turtl

Turtl 是一款安全的,开源 Evernote 替代品,支持 Linux、Windows、Mac 和 Android 平台,很快会推出 iOS 版本,同时也提供 Firefox 和 Chrome 书签扩展。 Turtl 当前处于 beta 阶段,可以把...

匿名
2016/08/19
438
0
Joplin:开源加密笔记及待办事项应用

Joplin 是一个自由开源的笔记和待办事项应用,可用于 Linux、Windows、macOS、Android 和 iOS。它的主要功能包括端到端加密,Markdown 支持以及通过 NextCloud、Dropbox、OneDrive 或 WebDAV...

作者: Logix
11/11
0
0
我的印象笔记使用手册(2018版)

2017年,写过一篇类似文章。 谈及的内容以工具本身为主,通篇技巧,缺乏底层逻辑的思考。 这一年里,随着使用场景的扩大化,对这个不足有了一些新的理解。 基于此,形成此文。 内容比较干,但...

曹将PPT
10/12
0
0
7 款印象笔记开源替代

印象笔记自 08年正式发布至今,已经拥有数以千万计的普通用户,百万计付费用户。不得不承认,印象笔记确实很强大,给众多用户带来诸多便利。 对于广大热爱开源的程序员来说,遗憾的是,它是闭...

催呀催呀
2016/08/05
11.1K
33
NotePad.Live 更新发布,增加加密笔记功能

NotePad.Live 更新发布了。 http://Notepad.Live 是一个极简的云笔记本,可以用来快速分享和记录零散内容,用户可以自定义地址,书写内容后实时在云 端保存。将URL地址分享给别的用户,即可快...

研习君
2016/03/20
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

(三)Honghu Cloud云架构一定时调度平台

2018-11-16 14:45:08 产品简介 鸿鹄云架构是一个完全由Java编写的开源任务调度框架,为企业在任务调度提供了简单却强大的机制。开发人员根据业务规则,使用调度平台简单配置,就可以让任务在...

itcloud
4分钟前
0
0
护航Lazada双11购物节 阿里云CDN全球化火力全开

摘要: Lazada是东南亚最大B2C平台,业务范围覆盖印度尼西亚、马来西亚、菲律宾、新加坡、泰国和越南六个东南亚国家,覆盖大约6亿消费者。在双11期间,阿里云CDN为Lazada电商内容加速,并且通...

阿里云官方博客
5分钟前
0
0
常用设计模式之代理模式解析

1. 简介 代理模式(Proxy Pattern)是常用设计模式之一。代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to it(为其他对象提供一种代理以控制对这个...

老道士
5分钟前
0
0
Vue瀑布流插件的使用示例

我自己写的一个的Vue瀑布流插件,列数自适应,不用设置每个卡片的高度。 测试页面:Page.vue 模板页面:WaterFollow.vue 和 WFColumn.vue 在Page.vue中,修改itemW的值,设置每列的最小宽度。...

peakedness丶
6分钟前
0
0
多种负载均衡算法及其Java代码实现【网络上较好的转载】

首先给大家介绍下什么是负载均衡(来自百科) 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展 网络设备和 服务器的带宽、增加 吞吐量、加强网络数据处理能力、提高网...

stys352
10分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部