sha256

区块链学习(6)区块链

拟墨画扇 提交于 2020-04-03 21:49:34
写了几篇区块链的学习笔记,今天来写写比特币中的区块链。比特币中区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。每个区块从后向前有序地链接在这个链条里,每个区块都指向前一个区块。 区块结构 区块是一种数据结构,存放了多组交易,并且块与块之间相互连接,每个块都指向前一个区块。为了提高性能,一组交易确认打包成块,下面就是区块的结构 区块头中由版本,父区块哈希值,Merkle根,时间戳,难度目标,Nonce。Nonce、难度目标和时间戳会用于挖矿过程。 每个区块通过SHA256算法对区块头进行二次哈希计算而得到一个哈希值叫做区块哈希值,不过只有区块头进行了哈希计算。区块哈希值可以唯一的表示一个区块。还可以用区块高度表示区块,第一个区块高度为0,第二个区块为1,之后的区块依次增加。但区块高度并不能唯一的表示一个区块,若区块链出现分叉就有可能出现两个区块的高度相同。而一个区块中的区块头内储存着它上一个区块的哈希值的引用,而上一个区块的区块头内又有再上一个的区块的哈希值的引用。这样就将各区块组成了区块链。 该区块中的所有交易都是用Merkle树表示的,在区块头中就储存了Merkle树的根。关于Merkle树这个博客讲的是相当详细https://blog.csdn.net/wo541075754/article/details/54632929 有兴趣的可以去看看。 Merkle树

Docker搭建私有仓库管理系统Harbor

陌路散爱 提交于 2020-03-23 18:20:42
转载声明 本文作者: Clay 发布时间: 2019-01-27 22:49:20 本文链接: https://www.techgrow.cn/posts/99d575a6.html 相关站点 Harbor 官网 Harbor Docs Harbor Github Harbor Releases Harbor介绍 Harbor是VMware公司开源的一个用于存储和分发Docker镜像的企业级Registry服务器,以Docker开源的Registry为基础,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全,提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。 Harbor特性 基于角色的访问控制(Role Based Access Control) 基于策略的镜像复制(Policy based image replication) 镜像的漏洞扫描(Vulnerability Scanning) AD/LDAP集成(LDAP/AD

EMQ X 认证鉴权(二)- EMQ X 中 MQTT 连接认证核心概念与配置要点

五迷三道 提交于 2020-03-17 12:12:12
某厂面试归来,发现自己落伍了!>>> 前言 安全保护几乎对于所有的项目都是一个挑战,对于物联网项目更是如,自普及应用以来物联网业内已经发生过多起安全事故。 作为物联网通信协议事实标准,MQTT 协议保持着较高的安全性,提供了多层次的安全设计: 传输层:MQTT 基于 TCP/IP 协议,可以在传输层上使用 SSL/TLS 进行加密传输: 使用 SSL/TLS 加密通信数据,防止中间人攻击; 使用客户端证书作为设备身份凭证,验证设备合法性。 应用层:使用 MQTT 自身的安全特性进行防护: MQTT 协议支持用户名和密码实现客户端的身份校验; MQTT Broker 实现了 Topic 的读写权限控制(Topic ACL)。 EMQ X MQTT Broker 完整支持 MQTT 协议 各项安全规范,内置的安全功能无需编程开箱即用,可以快速排除项目中的安全隐患。 EMQ X 认证鉴权 系列将围绕各个层次的安全规范,介绍如何通过配置 EMQ X 启用相关功能最终实现相应的安全防护。 本文将围绕 EMQ X 中 MQTT 连接认证相关的核心概念,介绍 EMQ X 支持的认证方式及其适用场景,并从工作机制和配置原则上阐述 EMQ X 认证相关的认证链、认证流程/原理以及相关的配置要点等信息,让你快速掌握 EMQ X 认证配置方式。 认证方式 EMQ X 支持使用内置数据源(文件、内置数据库

golang sha256

元气小坏坏 提交于 2020-03-17 09:26:16
/** func Sum256(data []byte) [Size]byte Sum256 returns the SHA256 checksum of the data. func EncodeToString(src []byte) string EncodeToString returns the hexadecimal encoding of src. */ package main import ( "crypto/sha256" "encoding/hex" "log" ) func calculateHash(toBeHashed string) string { hashInBytes := sha256.Sum256([]byte(toBeHashed)) hashStr := hex.EncodeToString(hashInBytes[:]) log.Printf("%s\n %s\n", toBeHashed, hashStr) return hashStr } func main() { calculateHash("test1") } 来源: https://www.cnblogs.com/udont/p/12508421.html

nginx 加上ssl配置

强颜欢笑 提交于 2020-03-16 14:23:13
某厂面试归来,发现自己落伍了!>>> #user nobody; #双核2个进程 #worker_processes 2; #worker_cpu_affinity 01 10; #8核开启8个进程 worker_processes 8; worker_cpu_affinity 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001; error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; pid logs/nginx.pid; # 每进程最大可打开文件描述符数量(linux上文件描述符比较广义,网络端口、设备、磁盘文件都是) # 文件描述符用完了,新的连接会被拒绝,产生502类错误 # linux最大可打开文件数可通过ulimit -n FILECNT或 /etc/security/limits.conf配置 # 理论值 系统最大数量 / 进程数。但进程间工作量并不是平均分配的,所以可以设置的大一些 #设置了这个后,修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值。 worker_rlimit_nofile

Calculating sha256 gives different results after appending slices depending on if I print out the slice before or not

本秂侑毒 提交于 2020-03-16 07:47:32
问题 I am calculating a sha256 from multiple strings. I convert them to byte slices in a specific way and append them all together and then compute the hash using the built in library. However, depending on if I print out the slice before calculating the sha256 or not I wierdly get different results. When testing it in playground I cannot reproduce it. The tested code can been seen and run on https://play.golang.org/p/z8XKx-p9huG where it actually gives the same result in both cases. func getHash

Calculating sha256 gives different results after appending slices depending on if I print out the slice before or not

為{幸葍}努か 提交于 2020-03-16 07:47:27
问题 I am calculating a sha256 from multiple strings. I convert them to byte slices in a specific way and append them all together and then compute the hash using the built in library. However, depending on if I print out the slice before calculating the sha256 or not I wierdly get different results. When testing it in playground I cannot reproduce it. The tested code can been seen and run on https://play.golang.org/p/z8XKx-p9huG where it actually gives the same result in both cases. func getHash

“网红” WebAssembly 与 K8s 如何实现双剑合璧?

北城以北 提交于 2020-03-12 19:03:51
作者 | 易立 阿里巴巴资深技术专家 导读 :WebAssembly 技术已经走出浏览器,让计算无处不在。本文利用 containerd 的扩展机制,可以为 WebAssembly 应用提供与其他容器应用一致的、抽象的、应用分发、交付和运维模型,可以在 Kubernetes 集群中进行统一调度和管理。 无处不在的 WebAssembly 如果评选 2019 年编程技术的“网红”,无论是前端圈还是后端圈,WebAssembly (WASM) 都绝对能够高票入选。然而,如果评选最被“低估”的技术,我觉得 WebAssembly 也可以轻松入围。 借用伏尔泰曾评价神圣罗马帝国的句式 “既不神圣,也不罗马,更非帝国”,我们也可以说WebAssembly “既不限于 Web,更不是 Assembly(汇编语言)”。 在 2019 年 12 月,万维网联盟 (World Wide Web Consortium - W3C) 宣布 WebAssembly 核心规范正式成为 Web 标准 , 这使得 WebAssembly 成为互联网上与 HTML, CSS, and JavaScript 并列的第四种官方语言,可以原生的运行在浏览器上。而更加重要的是,WebAssembly 作为一个安全的、可移植、高效率的虚拟机沙箱,可以在 Internet 的任何地方、任何平台(不同操作系统,不同 CPU

“网红” WebAssembly 与 K8s 如何实现双剑合璧?

倾然丶 夕夏残阳落幕 提交于 2020-03-12 19:03:36
作者 | 易立 阿里巴巴资深技术专家 导读 :WebAssembly 技术已经走出浏览器,让计算无处不在。本文利用 containerd 的扩展机制,可以为 WebAssembly 应用提供与其他容器应用一致的、抽象的、应用分发、交付和运维模型,可以在 Kubernetes 集群中进行统一调度和管理。 无处不在的 WebAssembly 如果评选 2019 年编程技术的“网红”,无论是前端圈还是后端圈,WebAssembly (WASM) 都绝对能够高票入选。然而,如果评选最被“低估”的技术,我觉得 WebAssembly 也可以轻松入围。 借用伏尔泰曾评价神圣罗马帝国的句式 “既不神圣,也不罗马,更非帝国”,我们也可以说WebAssembly “既不限于 Web,更不是 Assembly(汇编语言)”。 在 2019 年 12 月,万维网联盟 (World Wide Web Consortium - W3C) 宣布 WebAssembly 核心规范正式成为 Web 标准 , 这使得 WebAssembly 成为互联网上与 HTML, CSS, and JavaScript 并列的第四种官方语言,可以原生的运行在浏览器上。而更加重要的是,WebAssembly 作为一个安全的、可移植、高效率的虚拟机沙箱,可以在 Internet 的任何地方、任何平台(不同操作系统,不同 CPU

Mongo db sha 1 to sha256

隐身守侯 提交于 2020-03-03 07:47:07
问题 I would like to move my authentication over from sha-1 to sha 256, however, even though I've created a hasher I get an error stating that its unable to authenticate using sha1. There is no reference in the code to this old mechanism and I've already created a sha256 user in my mongo DB. Which means it is being defaulted to the old version somehow. Looking at the code I get warnings stating that MongoClientSettings is obsolete but browsing the web I don't see an alternative unless I'm meant to