#区块链中的哈希算法 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()
区块链中需要运用到python基础
最新推荐文章于 2024-08-17 11:32:34 发布