文档章节

Go笔记-加密

漂泊尘埃
 漂泊尘埃
发布于 2017/02/27 16:38
字数 210
阅读 33
收藏 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)
}

© 著作权归作者所有

共有 人打赏支持
漂泊尘埃

漂泊尘埃

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

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

匿名
2016/08/19
438
0
7 款印象笔记开源替代

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

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

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

研习君
2016/03/20
1K
1
印象笔记开源替代品--Laverna

Laverna采用JavaScript开发,基于Electron,支持在线和本地加密编辑,本地应用支持Linux、Mac、Windows三大平台。号称开源的印象笔记替代品。 特性: 基于Pagedown的Markdown编辑器 支持在线...

匿名
2016/07/13
11.7K
10
可扩展桌面笔记客户端 - AlephNote

AlephNote AlephNote 是一个用于多个后端的可扩展,轻量级桌面笔记客户端。 Standard Note 使用 StandardNotePlugin,用户的笔记将同步到 Standard File server,笔记将在本地加密,只有用户...

匿名
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

VSCode 搭建Vue开发环境之Vue CLI

一、简介说明 1.关于VS Code开发工具,安装和配置,更多可以参考以前文章 2.关于Vue.js,Vue是一个优秀的渐进式前端框架,不仅易于上手,还便于与第三方库或既有项目整合。 3.关于Vue是使用方...

tianma3798
21分钟前
2
0
MySQL 相关博客整理

1. 《深入理解 MySQL 底层实现》 简评:文章从硬盘底层存储原理讲解到MySQL存储原理,其中涉及InnoDB 和 Myisam 中 B+Tree 的应用,以及常见数据库优化思路,算是一片很不错的讲解MySQL原理的...

科陆李明
31分钟前
2
0
pada rabbitmq server mangage

查看配置文件 ubuntu@node4:/etc/rabbitmq$ lltotal 28drwxr-xr-x 2 rabbitmq rabbitmq 4096 Jun 6 13:52 ./drwxr-xr-x 104 root root 12288 Sep 26 11:39 ../-rw-r--r-- ......

qwfys
38分钟前
0
0
SpringBoot进阶

慕课网链接 表单数据的验证 在pojo类属性的上面添加注解 @Entitypublic class Girl { @Id @GeneratedValue private Integer id; @NotBlank(message = "这个字段...

踏破铁鞋无觅处
46分钟前
1
0
【SylixOS】QT-QWS流程介绍

QWS简介 QWS(QT Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系...

suokin
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部