1.计算hash
方式一md5
不推荐
现在计算机计算能力不断提升,容易出现重复的值
方式二sha246
推荐使用
// 计算哈希 func CalculateHash(b Block) string { // 数据不允许修改 // 把 数据 包含在hash运算的数值里面, ,任何一个模块数据的修改,都会导致区块链, 链式数据结构的破坏 blockData := string(b.Index) + string(b.Timestmp) + string(b.PreBolckHash) HashInBytes := sha256.Sum256([]byte(blockData)) return hex.EncodeToString(HashInBytes[:]) }
2.链式数据
每个数据库包含上一个区块的hash
把 数据 包含在hash运算的数值里面, ,任何一个模块数据的修改,都会导致区块链, 链式数据结构的破坏