首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏石头岛

    ethereum原理--关于keccak256

    SHA-3的候选人在2008年10月提交。 Keccak采用了创新的的“海绵引擎”散列消息文本。它是快速的,在英特尔酷睿2处理器下的平均速度为12.5周期每字节。它设计简单,方便硬件实现。 Keccak-256被设计为于2007年举行的SHA-3密码哈希函数竞赛的候选者。 Keccak是获胜的算法,在2015年被标准化为 FIPS(联邦信息处理标准)。 作用 keccak256算法则可以将任意长度的输入压缩成64位,16进制的数,且哈希碰撞的概率近乎为0. keccak256 代码结构 sha3加密接口: crypto.go 加密接口在:crypto.go KeccakState) for _, b := range data { d.Write(b) } d.Read(h[:]) return h } 验证 拿了一下官方测试举例:crypto_test.go 参考文档 全新的 SHA-3 加密标准 —— Keccak ethereum/crypto_test.go

    95610编辑于 2023-10-23
  • 来自专栏FreeBuf

    为什么要用BLAKE2替换SHA-1?| 密码学分析

    下图显示的是各种不同的哈希函数在一块英特尔CPU(Skylake架构)上的吞吐量测试信息: 因为BLAKE2非常简单 你会发现,我们可以方便地用各种不同的编程语言来实现BLAKE2,例如C、Go、Java 比如说,BLAKE2默认就是Go语言“/x/crypto”包中的一部分。除此之外,目前很多流行的加密代码库都包含有BLAKE2,例如OpenSSL和Sodium等等。 SHA-3同样是一个哈希函数家族,2015年发布的美国联邦标准FIPS 202还对其进行了标准化规范。 SHA-3是基于Keccak(SHA-3竞赛中的胜者)实现的,SHA-3哈希函数跟BLAKE2一样的安全,但是同样在速度方面处于下风。 当然了,你也可以选择SHA-3,但无论如何你都应该将SHA-1从你的系统中永久移除。

    2.2K60发布于 2018-02-24
  • 来自专栏Rust语言学习交流

    【Rust项目推荐】Rust写的开发工具包dtool发布0.2.1

    算法有: MD5 SHA-1 SHA-2 224 SHA-2 256 SHA-2 384 SHA-2 512 SHA-2 512 truncate 224 SHA-2 512 truncate 256 SHA -3 224 SHA-3 256 SHA-3 384 SHA-3 512 SHA-3 keccak 224 SHA-3 keccak 256 SHA-3 keccak 384 SHA-3 keccak

    69110发布于 2019-12-25
  • 来自专栏用户9859085的专栏

    哈希Hash竞猜游戏系统开发详解技术丨哈希竞猜游戏系统开发方案解析

    SHA-2/SHA-3:SHA-2和SHA-3作为SHA的升级版,目前业界认为其安全性适用于任何应用场景。 SHA-2生成消息摘要需要介绍的是SHA-3SHA-3使用Keccak算法,它支持与 SHA-2 相同的哈希长度,但是其内部结构与 SHA 系列几乎完全不同。 2012年Keccak算法在NIST的SHA-3竞赛中击败了包括大名鼎鼎的Rivest带来的MD6在内的众多算法,成了SHA-3的标准算法,SHA-3 的目的是在必要时可以直接替代当前应用中的 SHA-

    88830编辑于 2022-06-29
  • 来自专栏Vamei实验室

    统计Go, Go, Go

    结束了概率论,我们数据之旅的下一站是统计。这一篇,是统计的一个小介绍。 统计是研究数据的学科。它包括描述数据,推测群体信息,判断假设的真伪。统计是一门实用学科。人们利用统计,寻找下一个NBA巨星,推测

    1K90发布于 2018-01-18
  • 来自专栏七夜安全博客

    go go go - beego

    第一节 Beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado

    1.3K20发布于 2018-10-08
  • Python hashlib 模块

    256 32 中等 数据完整性验证、数字签名等 sha384 384 48 高 数字签名、加密算法等 sha512 512 64 高 数字签名、加密算法等 sha3_224 224 28 高 未来标准的 SHA -3 家族成员,适用于数字签名等 sha3_256 256 32 高 未来标准的 SHA-3 家族成员,适用于数字签名等 sha3_384 384 48 高 未来标准的 SHA-3 家族成员,适用于数字签名等 sha3_512 512 64 高 未来标准的 SHA-3 家族成员,适用于数字签名等 shake_128 可变 可变 高 SHAKE 系列是 SHA-3 家族的可变长度版本,适用于各种应用 shake _256 可变 可变 高 SHAKE 系列是 SHA-3 家族的可变长度版本,适用于各种应用 说明: 摘要长度(位): 表示哈希算法输出的摘要长度,以位为单位。

    15110编辑于 2025-12-16
  • 来自专栏设计模式

    深入理解SHA系列哈希算法:安全性的保障与演进

    SHA(Secure Hash Algorithm)系列算法,特别是SHA-256和SHA-3,已成为现代密码学中最常用的哈希算法之一。 因此,NIST推荐逐渐淘汰SHA-1,并转向更安全的SHA-2和SHA-3算法。 SHA-3的新思路:为了进一步提高哈希算法的安全性,NIST通过公开竞争选出了新一代哈希算法标准SHA-3(也称为Keccak算法)。 SHA-3采用了与SHA-2完全不同的设计思路,具有更高的安全性和抗碰撞性。此外,SHA-3还提供了多种哈希长度选项,以适应不同的应用场景需求。 从SHA-0到SHA-1,再到SHA-2和SHA-3,每一个版本的更新都代表着密码学领域对安全性和性能的不断追求。在选择哈希算法时,应根据具体的应用场景和安全需求来选择合适的算法版本。

    3K00编辑于 2024-05-24
  • 来自专栏开源服务指南

    比 md5 更快更安全:全新的哈希函数 | 开源日报 No.294

    具有以下特点和优势: 比 MD5、SHA-1、SHA-2、SHA-3 和 BLAKE2 快得多。 hajimehoshi/ebitenhttps://github.com/hajimehoshi/ebiten Stars: 10.4k License: Apache-2.0 ebiten 是一个用于 Go 该项目解决了使用 Go 编程语言快速、轻松开发可在多个平台部署的 2D 游戏的问题。

    69310编辑于 2024-07-10
  • 来自专栏ionic3+

    Go回忆】Lets go!

    安装 在mac上,用brew安装很方便: brew install go 2. 查看环境 brew安装的好处是安装完还会配好环境变量,可以查看: go env 3. 运行 查看下效果: go run demo.go 5. 编译 生成二进制程序: go build demo.go 6. 交叉编译 生成跨平台程序: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH =amd64 go build main.go CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go 7. 总结 go的理念就是简单、简洁、高效,连IDE也只需普通的文本编辑器也可以胜任,看上述的短短内容就已经完成安装、demo开发和发布的功能,有兴趣的就来尝试一下吧。

    48431发布于 2018-08-20
  • 来自专栏GoLang那点事

    Go coding in go way

    Go coding in go way”,中文含义就是用“Go语言编程思维去写Go代码”。 这里要和大家交流的内容都是基于Go诞生七年多以来我个人对Go的设计者、Go team以及Go主流社区的观点和代码行为的整理、分析和总结。 由于Go语言上手容易,在转Go的初期大家很快就掌握了Go的语法。 Go语言的价值观的形成我觉得至少有三点因素 1、语言设计者&Unix文化 Go语言价值观形成是与Go的初期设计者不无关系的,可以说Go最初设计者主导了Go语言价值观的形成! 无论是Go语言设计还是Go语言使用,都受到上述价值观的影响。接下来我们逐个来看一下Go语言价值观主导下的Go语言编程思维,并看看每种编程思维在语言设计、标准库实现以及主流Go开源项目中的应用体现。

    61030发布于 2020-03-10
  • 来自专栏程序那些事

    密码学系列之:NIST和SHA算法

    SHA3 2006年,NIST组织了NIST哈希函数竞赛,以创建一个新的哈希标准SHA-3SHA-3并不是要取代SHA-2,因为目前还没有证明对SHA-2的重大攻击。 但是由于MD5、SHA-0和SHA-1的成功攻击,NIST认为需要一种可替代的、不同的加密哈希,这就是SHA-3。 在这个比赛中,最终Keccak算法胜出,被选为SHA3的标准。

    1.1K11发布于 2021-06-09
  • 来自专栏技术专家成长之路

    快速了解常用的消息摘要算法,再也不用担心面试官的刨根问底

    SHA家族包含一套逐步发展而来算法,有1993年发布的SHA-0、1995年发布的SHA-1、2001年发布的SHA-2、2015年发布的SHA-3。 由于对MD5出现成功的破解,以及对SHA-0和SHA-1出现理论上破解的方法,所以推荐使用SHA-2,或者更安全的SHA-3。 5d8ba707c40c39f37c8cffd2eabf8da8d6d4ede70c697402a5e5ea6228c5710c3d76a6abbc1d46413bfced66280f72621feac12ce3ef49aed60902091ca1979f JDK8及以下版本不支持SHA SHA家族中,推荐使用SHA-2,或者更安全的SHA-3

    85820编辑于 2022-04-22
  • 来自专栏程序那些事

    密码学系列之:NIST和SHA算法

    我们看下SHA2的算法流程: 我们看下这几个函数表示什么意思: SHA3 2006年,NIST组织了NIST哈希函数竞赛,以创建一个新的哈希标准SHA-3SHA-3并不是要取代SHA-2,因为目前还没有证明对SHA-2的重大攻击。但是由于MD5、SHA-0和SHA-1的成功攻击,NIST认为需要一种可替代的、不同的加密哈希,这就是SHA-3

    89240发布于 2021-05-10
  • 来自专栏大龄程序员的人工智能之路

    写给开发人员的实用密码学 - Hash算法

    其中有些已证明不安全(例如 MD5 和 SHA1 ),有些仍被认为是安全的(例如 SHA-2 、SHA-3 和 BLAKE2 )。下面让我们了解一下目前广泛使用的加密哈希算法。 SHA-3 SHA-3算法并不是为了取代SHA-2算法,而是一种在设计上和SHA-2完全不同的算法,主要有四种算法,分别是SHA3-256、SHA3-512、SHA3-224、SHA3-384,输出的长度分别是 在相同的哈希长度下,SHA-3比SHA-2更安全。例如,SHA3-256比SHA-256提供更多的加密强度。 SHA-3被认为是高度安全的,在美国作为官方推荐的加密标准发布。

    2.7K20发布于 2020-12-29
  • 来自专栏golang与云原生

    【笔记】Go Coding In Go Way

    这些基本功能单元的累加就构成了Go应用,因此Go应用的本质就是一组Go包的集合。Go包还是编译时的最小单位。也就是说,Go编译器编译代码时会以包为单位进行编译,而不是以文件为单位。 Go包之间不能存在循环依赖,由于无环,包可以被单独编译,也可以并行编译;已编译的Go包的目标文件中记录了其所依赖包的导出符号信息。Go编译器在读取该目标文件时不需进一步读取其依赖包的目标文件。 在Go与C语言互操作(Interoperability)方面,Go更是提供了强大的支持。尤其是在Go中使用C,你甚至可以直接在Go源文件中编写C代码。 在如下一些场景中,可能会涉及到Go与C的互操作:1、提升局部代码性能时,用C替换一些Go代码。C之于Go,好比汇编之于C。2、嫌Go内存GC性能不足,自己手动管理应用内存。 testcontainers-go是一个Go语言开源项目,专门用于简化创建和清理基于容器的依赖项,常用于Go项目的单元测试、自动化集成或冒烟测试中。

    38910编辑于 2024-11-07
  • 来自专栏戚银技术成长之路

    Gogo get 自动代理

    最近发现技术交流群里很多人在询问 go get 墙外包失败的问题,大家给了很多解决方案: 从 Github 的代码库 clone 设置 GOPROXY 环境变量配置代理, 例如:GOPROXY=https ://goproxy.io 配置命令行代理,https_proxy 环境变量 使用 go mod replace 使用 Gopm 类似的工具 …… Go 的社区很活跃,国内 gopher 对 Go 的热情不会因为墙的存在而减少 上面的方法都是可行的,但是总有一些不尽人意,社区也一直在找更好的方法,我一直使用自动代理的方式获取墙外的包,可以支持所有 Go 原生拉取包操作,比如 go get、go mod、dep、godep、glide go get 自动代理的环境,以后需要访问外国网站操作的指令运行时加 proxy 就可以了,该方法并不只适用于 go get,任何需要命令行代理都可以使用。 前期我使用 go 的时候遇到下载不了的包时,就会在 go get 前加上 proxy 指令,但是我发现拉取 Github 包的效率非常低,本身国内现在访问 Github 已经很快了。

    2.1K20发布于 2019-11-04
  • 来自专栏北先生

    Go】Mac 升级 Go 版本

    upgrade go 123 brew updatebrew install gobrew upgrade go 下载镜像: ? 安装完成之后的目录: Shell cd /usr/local/go/bin 1 cd /usr/local/go/bin 查看系统 go 的信息: ? Shell which go cd /usr/local/bin rm go gofmt sudo ln -s /usr/local/go/bin/go go sudo ln -s /usr/local /go/bin/gofmt gofmt 12345678 which go cd /usr/local/bin rm go gofmt  sudo ln -s /usr/local/go/bin/go gosudo ln -s /usr/local/go/bin/gofmt gofmt 喜欢(0) 打赏

    8.7K20发布于 2021-08-09
  • go 并发编程; go concurrency

    使用锁,保证变量并发的正确性;由于没有接触过实际的工程场景,因此进行了简短的调研,下面是一些相关材料的记录; 深入Go并发编程研讨课:https://github.com/smallnest/dive-to-gosync-workshop https://golang.org/src/sync/map.go sync.map https://blog.csdn.net/a348752377/article/details/104972194

    43720发布于 2021-08-10
  • 来自专栏程序技术知识

    go : kubernetesclient-go 体验

    kubernetes的客户端SDK,可以在集群外操作k8s链接地址:https://kubernetes.io/docs/reference/using-api/client-libraries/前提环境:1.安装go 开发环境2.获取go-client测试本示例通过展示操作namespace 来实现client-go与集群交互package mainimport ( "flag" "fmt" apiv1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes " "k8s.io/client-go/tools/clientcmd")func main() { // 配置 k8s 集群外 kubeconfig 配置文件 var kubeconfig build main.go会生成一个main的二进制文件图片执行二进制文件也可以操作集群图片

    63730编辑于 2022-07-26
领券