P2P对等网络 - upnp实现内网穿透

什么是内网穿透 正常我们使用的电脑都是在局域网内部,我们的 ip 也是私有 ip。当我们请求网页的时候,先通过路由器,然后再到达目的服务器。既然我们自

Golang 反射三定律

这是我翻译的国外的一篇文章,原文: https://blog.golang.org/laws-of-reflection 介绍 在计算中的反射是程序检测自己结构的一种能力,尤其是通过类型来检测。它是元编程的一种形式,同时也会造成

Golang 中的 json 处理

介绍 JSON 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析与生成。其采用的是独立于语言的文本格式。可以去官网 json.org 详细了解。 JSON 中有两种

Golang 单元测试

简单使用 进入 package 所在目录,执行以下命令,该命令只会输出最终的测试结果: 1 go test 输出: 1 2 PASS ok addrtool 0.519s 使用 -v 参数,可以查看更多测试信息: 1 go test -v 输出:

HD Wallet 原理与分析

概述 分层确定性钱包,可以从一个种子派生出一系列密钥对用于生成地址,便于钱包的备份与管理 助记词、种子、公钥、地址之间的关系: 助记词与种子公钥与

密码学系列:签名

签名是用于消息的认证,保证该条消息不被伪造。本文主要讨论RSA签名、DSA、ECDSA 和 Schnorr 签名算法。 RSA签名 安全性建立在大数分解问题 公钥:

密码学系列:非对称加密

非对称加密有两个密钥:公钥和私钥,公钥用来加密数据,私钥用于解密 他们都源于一个公共原理:单向函数 单向函数的定义: 函数 f() 是一个单向函数,当且仅

密码学系列:概述

在加解密技术中根据密钥的类型一般可以分为对称加密和非对称加密,本系列文章将对这两种类型涉及到的加解密算法展开分析,其他的密码技术如散列算法、