Python3實現AES加解密

2022-07-07 10:30:21 字數 1415 閱讀 7234

import base64

from crypto.cipher import aes

from urllib.parse import unquote

'''採用aes對稱加密演算法

'''# str不是16的倍數那就補足為16的倍數

def add_to_16(value):

while len(value) % 16 != 0:

value += '\0'

return str.encode(value) # 返回bytes

#加密方法

def encrypt_oracle():

# 秘鑰

key = 'abcdefgabcdefg12'

# 待加密文字

text = input("輸入待加密文字:")

# 初始化加密器

aes = aes.new(add_to_16(key), aes.mode_ecb)

#先進行aes加密

encrypt_aes = aes.encrypt(add_to_16(text))

#用base64轉成字串形式

encrypted_text = str(base64.encodebytes(encrypt_aes), encoding='utf-8') # 執行加密並轉碼返回bytes

print("加密值;",encrypted_text)

#解密方法

def decrypt_oralce():

# 秘鑰

key = 'abcdefgabcdefg12'

# 密文

text = input("輸入密文:")

# 初始化加密器

aes = aes.new(add_to_16(key), aes.mode_ecb)

#優先逆向解密base64成bytes

base64_decrypted = base64.decodebytes(text.encode(encoding='utf-8'))

#執行解密密並轉碼返回str

decrypted_text = str(aes.decrypt(base64_decrypted),encoding='utf-8').replace('\0','')

print("解密值:",decrypted_text)

print("url解碼後解密值:",unquote(decrypted_text))

if __name__ == '__main__':

# encrypt_oracle()

try:

decrypt_oralce()

print("加解密成功")

except exception as error:

print("輸入錯誤:",error)

python 3 x 實現AES 加解密

首先 安裝cryptography sudo pip3 install cryptography確認安裝的是2.1.x版本 1.x版本的api是不一樣的 檔案頭部的宣告為 coding utf 8 import os from cryptography.hazmat.primitives.ciphe...

AES對稱加解密

python實現aes對稱加解密 關於aes對稱加密的概念網上很多,在此不在贅述,直接上 import base64 from crypto.cipher import aes aes加密解密工具類 資料塊128位 key 為16位 iv 為16位 aes加密模式為cbc 填充 pkcs7paddi...

AES 對稱加解密

1.生成aes key aes根據密碼生成key param password return public static key createkey string password catch exception e return null 2.aes加密 ecb模式 aes加密操作,使用ecb模式...