- 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
2022年5月22日 星期日
AES 256文字加密python實作
訂閱:
張貼留言 (Atom)
熱門文章
-
11!=?
-
輸出字串20次
-
產生50個元素的陣列並排序
-
寫一個是否上學期成績2/3的程式
-
教育部為提昇全民資安素養與電腦防護能力,本部於101年9月5日至11月5日舉辦「全民資安素養自我評量」活動,請在活動期間內踴躍上網檢測資訊安全素養認知程度,並有機會參與抽獎,詳情請參閱活動網站(網址: https://isafe.moe.edu.tw/event
-
先說明一下這是後知後覺的解答,所謂後知就是股票價格已知存在陣列(清單),當然就要用迴圈練習,雙迴圈暴力解需時O(n**2),當然不用,採python單一迴圈解答「最佳股票的買賣時機#LeetCode 121 Best Time to Buy and Sell Stock」,解...
-
C++ oop洗牌解Leetcode 384 Shuffle an Array [codes on Leetcode] https://leetcode.com/problems/shuffle-an-array/solutions/6676446/stl-shuffle-vs...
沒有留言:
張貼留言