区块链中需要运用到python基础

#区块链中的哈希算法
import hashlib
m=hashlib.md5()
#传入需要加密的字符串,字符串需要编码承utf-8
#md5示例
m.update('使用MD5加密的数据'.encode('utf-8'))
print(m.hexdigest())#打印加密后的密文
print(m.hexdigest(),len(m.hexdigest()))
#SHA256示例
#初始化SHA256
s=hashlib.sha256()
#传入需要加密的字符串。同样需要编码成utf-8格式
s.update("使用SHA256加密的数据".encode('utf-8'))

#打印加密后的密文
print(s.hexdigest(),len(s.hexdigest()))

base64库
# Base64是一种用于64个字符来表示任意二进制数据的方法
import base64  #导入base64库
data='你好,区块链'

#对数据进行base64加密
result= base64.b64encode(data.encode('utf-8'))
#打印结果
print(data,result)

#解码,base64加密是可逆的,可用密文还原
text=base64.b64decode(result)
print(text.decode('utf-8'))
非对称加密算法库   需要安装第三方库ECDSA 安装命令 conda install ecdsa 或者pip install ecdsa
先使用SigningKey.generate()方法生成一个私钥,由这个私钥可生成一个唯一的公钥。然后使用私钥对‘something'这个字符串生成签名。而由私钥生成的公钥进行验证这个签名是否正确
#导入椭圆加密算法
from ecdsa import SigningKey,SECP256k1
#生成私钥
sk = SigningKey.generate(curve=SECP256k1)
#生成公钥
vk = sk.get_verifying_key()
#生成签名
signature = sk.sign('Something'.encode('utf-8'))
#验证签名 vk.verify(signature,'Something'.encode('utf-8'))
print(vk.verify(signature,'Something'.encode('utf-8')))

#绘图库 matplotlib
import matplotlib.pyplot as plt
import numpy as np
#生成数据
x=np.linspace(0,2*np.pi,50)
#绘制图表
plt.plot(x,np.sin(x))
#显示图形
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值