區塊鏈中需要運用到python基礎

2021-10-25 05:37:46 字數 1543 閱讀 5160

#區塊鏈中的雜湊演算法

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()

區塊鏈怎麼運用到專案上 區塊鏈技術及其運用

眾所周知,區塊鏈技術最早是在2008年由乙個密碼學極客中本聰發表的 位元幣 提出的。2008年發生了一次波及世界的金融危機,在金融危機的影響下人們對當前的金融 體系產生懷疑。有人提出能不能有一種去中心化 無需信任的電子交易系統。於是,就提出來區塊鏈技術。在當時,區塊鏈技術的最大關鍵字就是 去中心化 ...

python 區塊鏈 區塊鏈Python實現

區塊鏈是如同鍊錶的一組記錄。每個區塊含有一些資訊以及與其他區塊關聯的方法。每個區塊有前乙個區塊的雜湊值 時間戳 資料。class block def init self,timestamp,data,previous hash self.timestamp timestamp self.data d...

區塊鏈需要中心化

公鏈1.0位元幣,2.0以太坊,3.0是誰還不知道。無論哪個公鏈,開發應用如果僅限於token,顯然約分散化,越 去中心 越理想 可以擺脫中心化發行的違約風險,通過程式 來保證tojen的總量控制和交易安全以及基於程式 和分散化的信用支撐,當然,一定要有專家分析這些 確實如 所描述的那麼美好,千萬別...