#區塊鏈中的雜湊演算法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的總量控制和交易安全以及基於程式 和分散化的信用支撐,當然,一定要有專家分析這些 確實如 所描述的那麼美好,千萬別...