Beispiel #1
0
 def decrypt_ECB_by(self, data, key):
     # 處理密鑰
     key = str(key)  # 避免近來數值太奇怪 轉成str
     key = sha256(key.encode('utf-8')).digest()  # 將key做utf-8解碼成bytes放入hash
     aes = new(key, MODE_ECB)  # 建置AES加密核心 使用key當AESkey 模式ECB
     # 解密資料 將data先解密玩 再用utf-8顯示
     data = aes.decrypt(data)
     # 將資料轉回utf8
     return data
Beispiel #2
0
 def decrypt_ECB(self, data, key):
     # 處理密鑰
     key = str(key)  # 避免近來數值太奇怪 轉成str
     key = sha256(key.encode('utf-8')).digest()  # 將key做utf-8解碼成bytes放入hash
     aes = new(self.pad_key(key), MODE_ECB)  # 建置AES加密核心 使用key當AESkey 模式ECB
     # 解密資料 將data先解密玩 再用utf-8顯示
     data = str(aes.decrypt(data), encoding='utf-8', errors="ignore")
     # 將資料轉回utf8
     return data
Beispiel #3
0
 def decrypt_CBC_speed(self, data, key, _IV=16 * b'\x00'):
     # 處理密鑰
     key = str(key)  # 避免近來數值太奇怪 轉成str
     key = sha256(key.encode('utf-8')).digest()  # 將key做utf-8解碼成bytes放入hash
     aes = new(self.pad_key(key), MODE_CBC,
               _IV)  # 建置AES加密核心 使用key當AESkey 模式CBC _IV
     # 解密資料
     data = str(aes.decrypt(data), encoding='utf-8', errors="ignore")
     # 將資料轉回utf8
     return data
Beispiel #4
0
 def encrypt_ECB(self, data, key):
     # 處理密鑰
     key = str(key)  # 避免近來數值太奇怪 轉成str
     key = sha256(key.encode('utf-8')).digest()  # 將key做utf-8解碼成bytes放入hash
     aes = new(self.pad_key(key), MODE_ECB)  # 建置AES加密核心 使用key當AESkey 模式ECB
     # 處理資料 將key做utf-8解碼成bytes補足16bits
     data = data.encode(encoding="utf-8")
     data = self.pad(data)
     # 加密資料
     return aes.encrypt(data)
Beispiel #5
0
 def encrypt_CBC_speed(self, data, key, _IV=16 * b'\x00'):
     # 處理密鑰
     key = str(key)
     key = sha256(key.encode('utf-8')).digest()
     aes = new(self.pad_key(key), MODE_CBC, _IV)
     # 處理資料
     # data = data.encode(encoding="utf-8")
     data = self.pad(data)
     # 加密資料
     return aes.encrypt(data)