自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java语言实现区块链(四)

一、签名和校验比特币通过对交易进行签名和校验,保证交易的安全性。下图展示了数据签名和交易的过程。签名过程:1)使用哈希算法对数据文件进行加密处理,得到一个哈希值;2)使用私钥对哈希值进行加密,生成数字签名;3)最后把数据文件和数字签名一起发送给对方;校验过程:1)对方接收到数据文件和数字签名之后,首先使用相同的哈希算法对数据文件进行加密处理,得到一个哈希值...

2019-04-30 23:38:57 699

原创 Java语言实现区块链(三)

一、增加工作量证明(1)修改Block类,增加nonce字段,并重新生成构造函数。// 区块public class Block { private int id; // 区块ID private String content; // 区块数据 private String hash; // 区块哈希 private int nonce; // 随机数...

2019-04-30 14:02:18 448

原创 Java语言实现区块链(二)

一、增加hash值(1)定义Block类,保存区块信息。// 区块public class Block { private int id; // 区块ID private String content; // 区块数据 private String hash; // 区块哈希 public Block() {} public Block(in...

2019-04-30 13:19:00 444

原创 Java语言实现区块链(一)

一、定义账本(1)定义账本类// 账本public class NoteBook { // 保存区块的集合 private List<String> blocks = new ArrayList<>(); /** 添加创世块 * @param data : 区块数据 */ public void ad...

2019-04-30 12:03:07 1035

原创 Go语言实现ORM框架

一、项目结构beego:请求访问控制器controller:控制器结构体models:定义需要映射建表的结构体orm:实现models中结构体routers:初始化路由入口二、控制器接口设计ControllerInterface:控制器接口,提供Get和Post函数。Controller:公共控制器,实现ControllerInterface接口,并实现了Ge...

2019-04-28 19:46:19 2127

原创 Go语言实现区块链(五)

一、添加钱包(1)定义钱包结构体type Wallet struct { PrivateKey ecdsa.PrivateKey // 私钥 PublicKey []byte // 保存了公钥的X和Y}由于不想在交易中传递公钥本身,提供公钥在网络上的传输效率,所以我们将公钥拆分成两个[]byte变量,然后将他们拼接成一个[]byte后存放在公钥字段中。在verify之前一...

2019-04-28 17:59:44 1107

原创 Go语言实现区块链(四)

一、比特币交易介绍1. 比特币交易与传统银行交易的区别?传统银行的每个账户都有一个数据库保存用户的信息,例如:姓名、卡号、余额等信息。每产生一笔交易,银行系统都会更新用户账户的余额字段。比特币的数据库只有交易,没有用户帐号信息。那么比特币系统如何维护用户的比特币呢?不像银行系统,比特币系统中每个交易都是以之前的交易为基础。用户的比特币零散分布在不同的交易中。如果想要知道某个钱包...

2019-04-28 15:10:17 1099

原创 Go语言实现区块链(三)

一、保存区块链为了能够永久保存区块链数据,这里引入bolt数据库。(1)改写BlockChain结构体type BlockChain struct { //Blocks []*Block // 保存所有区块 Db *bolt.DB Tail []byte // 最后区块的hash}(2)改写NewBlockChain方法,把创世块数据以及最后区块的哈希写入数据库中。...

2019-04-28 14:19:05 1999 4

原创 Go语言实现区块链(二)

一、引入PoW(1)定义Pow结构体// 工作量证明type ProofOfWork struct { Block Block // Target big.Int // 挖矿难度目标值}(2)提供创建函数// 创建方法func NewProofOfWork(block Block) * ProofOfWork { pow := ProofOfWork{ Bloc...

2019-04-28 13:28:14 493

原创 Go语言实现区块链(一)

一、定义创世块并打印区块链是由一个个的区块所组成。我们把第一个区块称之为“创世块”。创世块与其他普通区块不一样的是,创世块没有前置哈希。下面我们定义一个结构体保存创世块的信息。(1)定义区块结构体// 定义区块type Block struct { PrevHash []byte // 上一个区块哈希 Hash []byte // 当前区块哈希 Data ...

2019-04-28 13:13:23 1252

原创 区块链相关知识(二)

一、比特币相关技术1. 加密技术在比特币系统中使用加密技术保证交易的安全性。加密技术分为对称加密和非对称加密。(1)对称加密对称加密就是加密和解密使用相同的密钥。例如:DES、3DES、AES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。特点:效率高,算法公开,安全性取决于密钥大小。密钥越长,安全性就越高,但是效率也越慢。除此以外,密钥分发...

2019-04-28 11:45:43 411

原创 区块链相关知识(一)

一、区块链相关概念1、钱包比特币钱包中保存了地址和密钥。地址相当于现实钱包中的银行卡,密钥相当于银行卡的密码。每一个地址都对应这一个密钥。钱包地址都保存在本地的wallet.dat文件中。wallet.dat文件负责维护钱包的地址和私钥,所以必须要保存好该文件。Bitcoin Core是官方发布的用于管理比特币私钥的客户端。官方下载地址:https://bitcoin....

2019-04-28 10:53:19 1117

jsp论坛程序设计

这是一个jsp的论坛程序,它是基于SSH的J2EE应用程序。我现在把他开源出来,供大家学习与参考,希望对大家有用。 如果大家要部署到应用服务器上运行的话,请先阅读以下readme文件。里面我已经分别说明了如何把该程序部署到服务器上。如果有其他什么问题,可以随时与我交流!

2014-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除