Go Web编程8.Web服务 8.1 Socket编程 8.2 WebSocket 8.3 REST 8.4 RPC 8.5 小结 9.安全与加密 9.1 预防CSRF攻击 9.2 确保输入过滤 9.3 避免XSS攻击 9.4 避免SQL注入 9.5 存储密码 9.6 加密和解密数据 9.7 小结 10.国际化和本地化 10.1 设置默认地区 10.2 本地化资源 10.3 国际化站点 4 10 是所有涉及到网络编程的工具的所在地。如果你想更加深入的了解相关实现细节,可以 尝试阅读这个包下面的源码。 links links 目录 上一节: RPC 下一章: 安全与加密 200 9 安全与加密 9 安全与加密 无论是开发Web应用的开发者还是企图利用Web应用漏洞的攻击者,对于Web程序安全这个话题都给予了越来越多的关 注。特别是最近CSDN密码泄露事件,更是让我们对Web安全 与安全加密相关的,能够增强我们的Web应用程序的强大手段就是加密,CSDN泄密事件就是因为密码保存的是明文, 使得攻击拿手库之后就可以直接实施一些破坏行为了。不过,和其他工具一样,加密手段也必须运用得当。我们将在 9.5小节介绍如何存储密码,如何让密码存储的安全。 加密的本质就是扰乱数据,某些不可恢复的数据扰乱我们称为单向加密或者散列算法。另外还有一种双向加密方式, 也就是可以对加密后的数据进行解密。我们将会在90 码力 | 295 页 | 5.91 MB | 1 年前3
03. Golang 在隐私计算平台建设中的实践 - 刘敬OPRF协议 ⿊黑名单匹配 ⾦金金融反欺诈 联合征信 应 ⽤用 同态加密 算法体系 隐私计算算法体系 03 构建隐私计算算 法框架的实践 趣链科技版权所有©2016 – 2021 13 隐私集合求交算法示例例 2.发送 和 N fp(A) 3.1随机⽣生成秘钥q 3.2加密数据集B的每个元素 3.2再次加密 的每个元素 fq(B) = {fq(b1), fq(b2), …, fP(A) fq(fp(A)) = {fq(fp(a1)), fp(fp(a2)), …, fp(fp(an))} 4. 发送fq(B)和fq(fp(A)) 5.1再次加密 的每个元素 5.2计算 和 两个集 合的交集,加密集合交集index对应的 原集合数据就是交集 fq(B) fp(fq(B)) = {fp(fq(b1)), fp(fq(b2)), …, fp(fq(bn))} fq(fp(A)) Hellman密钥交换思想,求双⽅方集合的交集,保护交集之外的数据 数据集 A = {a1, a2, …, an} 1.1随机⽣生成秘钥p,公共参数N 1.2加密数据集A的每个元素 fp(A) = {fp(a1), fp(a2), …, fp(an)} 秘钥K,公共参数N,加密函数 ,满⾜足交换律律 = = = fK(x) = xKmod N fpq(x) fq(fp(x)) fp(fq(x)) fqp(x)0 码力 | 37 页 | 6.20 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬趣链科技 版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 版权所有 ©2016-2021 ⾼安全 易⽤性 • ⽀持1000+共识节点组⽹ • ⽇均存储量可达TB级 • 全国密⽀持 • 链内原⽣权限控制体系 强隐私 • TEE账本加密、隐私交易 • 零知识证明、同态加密 • 安全完备证书准⼊机制 • 分区共识 • ⽀持GB级图⽚、⾳视频⼤⽂件存储 连续荣获第⼀ 2017-2020年 中国信通院 可信区块链测评 海量存储 • ⾼效数据索引0 码力 | 39 页 | 56.58 MB | 1 年前3
Go 入门指南(The way to Go)} } 练习 12.8:degob.go: 写一个程序读取 vcard.gob 文件,解码并打印它的内容。 12.12 Go 中的密码学 12.12 Go 中的密码学 通过网络传输的数据必须加密,以防止被 hacker(黑客)读取或篡改,并且保证发出的数据和收到的数据 Go入门指南 - 282 - 本文档使用 看云 构建 检验和一致。 鉴于 Go 母公司的业务,我们毫不惊讶地看到 Go 校验; crypto 包:实现了其它的 hash 算法,比如 md4 、 md5 、 sha1 等。以及完整地实现了 aes 、 blowfish 、 rc4 、 rsa 、 xtea 等加密算法。 下面的示例用 sha1 和 md5 计算并输出了一些校验值。 示例 12.20 hash_sha1.go: // hash_sha1.go package main import0 码力 | 380 页 | 2.97 MB | 1 年前3
Go 入门指南(The way to Go)gob 文件,解码并打印它的内容。 12.11 用 Gob 传输数据 - 347 - 本文档使用 书栈(BookStack.CN) 构建 12.12 Go 中的密码学 通过网络传输的数据必须加密,以防止被 hacker(黑客)读取或篡改,并且保证发出的数据和收到的数据检验和一 致。 鉴于 Go 母公司的业务,我们毫不惊讶地看到 Go 的标准库为该领域提供了超过 30 个的包: hash crypto 包:实现了其它的 hash 算法,比如 md4 、 md5 、 sha1 等。以及完整地实现了 aes 、 blowfish 、 rc4 、 rsa 、 xtea 等加密算法。 下面的示例用 sha1 和 md5 计算并输出了一些校验值。 示例 12.20 hash_sha1.go: 1. // hash_sha1.go 2. package main0 码力 | 466 页 | 4.44 MB | 1 年前3
Build web application with Golangmine.") fmt.Printf("% x", h.Sum(nil)) //import "crypto/md5" h := md5.New() io.WriteString(h, "需要加密的密码") fmt.Printf("%x", h.Sum(nil)) There are two key features of one-way hashing: 1) given a one-way0 码力 | 327 页 | 1.63 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版224/256/384/512 bits 哈希冲 突 较多 较多 很少 很少 安全等 级 低,已被成功攻击 低,已被成功 攻击 高 高 应用 已被弃用,仍用于数据完整 性检查 已被弃用 加密货币交易验证、数字 签名等 可用于替代 SHA‑2 6.3.4. 数据结构的哈希值 我们知道,哈希表的 key 可以是整数、小数或字符串等数据类型。编程语言通常会为这些数据类型提供内置 的哈希算法,用于计算哈希表中的桶索引。以0 码力 | 347 页 | 27.40 MB | 1 年前3
Hello 算法 1.1.0 Go版低,已被成功攻击 低,已被成功攻 击 高 高 第 6 章 哈希表 hello‑algo.com 132 MD5 SHA‑1 SHA‑2 SHA‑3 应用 已被弃用,仍用于数据完整性检 查 已被弃用 加密货币交易验证、数字签名 等 可用于替代 SHA‑2 6.3.4 数据结构的哈希值 我们知道,哈希表的 key 可以是整数、小数或字符串等数据类型。编程语言通常会为这些数据类型提供内置 的哈希算法,用于计算哈希表中的桶索引。以0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版224/256/384/512 bit 哈希冲 突 较多 较多 很少 很少 安全等 级 低,已被成功攻击 低,已被成功攻 击 高 高 应用 已被弃用,仍用于数据完整性检 查 已被弃用 加密货币交易验证、数字签名 等 可用于替代 SHA‑2 6.3.4 数据结构的哈希值 我们知道,哈希表的 key 可以是整数、小数或字符串等数据类型。编程语言通常会为这些数据类型提供内置 的哈希算法,用于计算哈希表中的桶索引。以0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版224/256/384/512 bits 哈希冲 突 较多 较多 很少 很少 安全等 级 低,已被成功攻击 低,已被成功 攻击 高 高 应用 已被弃用,仍用于数据完整 性检查 已被弃用 加密货币交易验证、数字 签名等 可用于替代 SHA‑2 6.3.4 数据结构的哈希值 我们知道,哈希表的 key 可以是整数、小数或字符串等数据类型。编程语言通常会为这些数据类型提供内置 的哈希算法,用于计算哈希表中的桶索引。以0 码力 | 379 页 | 30.70 MB | 1 年前3
共 15 条
- 1
- 2













