21、区块链开发:从哈希生成到冲突解决

区块链开发:从哈希生成到冲突解决

1. 区块链哈希生成

在区块链开发中,哈希生成是关键环节,它用于确保数据的完整性和安全性。为了让区块链能同时适用于Web和独立应用,我们需要使用两种不同的加密API来生成SHA - 256哈希:
- Web应用 :可以调用所有浏览器支持的 crypto 对象的API。
- 独立应用 :在Node.js运行时环境下,使用Node.js自带的 crypto 模块(https://nodejs.org/api/crypto.html)。

为了让客户端应用在运行时自动选择合适的API,我们创建了一个库。以下是 lib/universal_sha256.ts 文件中的代码:

function sha256_node(data: string): Promise<string> {
    const crypto = require('crypto');
    return Promise.resolve(crypto.createHash('sha256').update(data).digest('hex'));
}

async function sha256_browser(data: string): Promise<string> {
    const msgUint8Array = new TextEncoder().encode(data);
    const
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值