print('安裝密碼學套件pycryptodome,使用AES256-CBC加密')
!pip install pycryptodome
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
def printHex(xx):
for x in xx:
print("%02x" %(x), end=" ")
print()
"""產生密鑰secret key與iv"""
key = get_random_bytes(256//8)
printHex(key)
iv =get_random_bytes(AES.block_size)
printHex(iv)
aes = AES.new(key, AES.MODE_CBC, iv)
"""加密"""
plain=input('請輸入你要加密的文字:\n')
m=plain.encode('utf-8')
%time cc=aes.encrypt(pad(m, AES.block_size))
printHex(cc)
"""要解密了"""
aes=AES.new(key, AES.MODE_CBC, iv)#解密時要重新取得aes
%time p1=aes.decrypt(cc)
printHex(p1)
p2=unpad(p1, aes.block_size)
printHex(p2)
print(m==p2)
print(p2.decode('utf-8'))
herrDeng網內搜尋
自訂搜尋
Ads
2025年5月11日 星期日
AES 256文字加密python實作
訂閱:
張貼留言 (Atom)
熱門文章
-
test請留言! 到第十前,都沒說對!提示一下: 形態轉換int->float int sum=596; average=(double)sum/10; average=sum/10; 有何不同?
-
任何一個國家任一時段連續5年的出生率統計
-
ECTJGJMUGEFVHZYLQFMQKKXFYIOSNLOJVSAFYSJLWIYUFJSDER FIDTCKSDFSITUMGOWJLZJZPBKLCIVVDYVICGRBFBYSXMRAOBHZ GQXQXCQAFPSXCGYJTJSHUINWPPLIJISZNNQCBV...
-
請問你所使的電腦,CPU的規格 Cache多大?其他硬體配置...... 另外, "INTEL® XEON PHI™ 處理器 7230F"的大致規格為?
-
請將執行結果貼出>
-
請問何謂非對稱性密碼? 並列舉五種以上非對稱密碼的演算法名稱。
-
請輸出如下 * ** *** **** ***** ******
-
產生10個0~99的亂數存在a[10] 中
沒有留言:
張貼留言