您好,登錄后才能下訂單哦!
在 Linux 下,Python 提供了多種加密和解密的方法
對(duì)稱加密是指加密和解密使用相同密鑰的加密算法。常見的對(duì)稱加密算法有 AES、DES 和 3DES 等。
以下是一個(gè)使用 AES 加密和解密的 Python 示例:
from Crypto.Cipher import AES
import base64
# 加密函數(shù)
def encrypt(plain_text, key):
cipher = AES.new(key, AES.MODE_ECB)
encrypted_data = cipher.encrypt(plain_text)
return base64.b64encode(encrypted_data).decode('utf-8')
# 解密函數(shù)
def decrypt(encrypted_data, key):
encrypted_data = base64.b64decode(encrypted_data)
cipher = AES.new(key, AES.MODE_ECB)
return cipher.decrypt(encrypted_data).decode('utf-8')
# 示例
key = b'0123456789abcdef'
plain_text = "Hello, World!"
encrypted_data = encrypt(plain_text.encode('utf-8'), key)
print("Encrypted data:", encrypted_data)
decrypted_data = decrypt(encrypted_data, key)
print("Decrypted data:", decrypted_data)
非對(duì)稱加密是指加密和解密使用不同密鑰的加密算法。常見的非對(duì)稱加密算法有 RSA 和 ECC 等。
以下是一個(gè)使用 RSA 加密和解密的 Python 示例:
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
import base64
# 生成密鑰對(duì)
def generate_key_pair():
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
return private_key, public_key
# 加密函數(shù)
def encrypt(plain_text, public_key):
rsa_public_key = RSA.import_key(public_key)
rsa_public_key = PKCS1_OAEP.new(rsa_public_key)
encrypted_data = rsa_public_key.encrypt(plain_text.encode('utf-8'))
return base64.b64encode(encrypted_data).decode('utf-8')
# 解密函數(shù)
def decrypt(encrypted_data, private_key):
rsa_private_key = RSA.import_key(private_key)
rsa_private_key = PKCS1_OAEP.new(rsa_private_key)
encrypted_data = base64.b64decode(encrypted_data)
return rsa_private_key.decrypt(encrypted_data).decode('utf-8')
# 示例
private_key, public_key = generate_key_pair()
plain_text = "Hello, World!"
encrypted_data = encrypt(plain_text, public_key)
print("Encrypted data:", encrypted_data)
decrypted_data = decrypt(encrypted_data, private_key)
print("Decrypted data:", decrypted_data)
哈希是將任意長(zhǎng)度的輸入數(shù)據(jù)轉(zhuǎn)換為固定長(zhǎng)度的輸出數(shù)據(jù)的過程。常見的哈希算法有 MD5、SHA-1、SHA-256 等。
以下是一個(gè)使用 SHA-256 哈希的 Python 示例:
import hashlib
def sha256_hash(data):
return hashlib.sha256(data.encode('utf-8')).hexdigest()
# 示例
data = "Hello, World!"
hash_value = sha256_hash(data)
print("Hash value:", hash_value)
消息認(rèn)證碼(MAC)是一種確保數(shù)據(jù)完整性和驗(yàn)證身份的技術(shù)。常見的 MAC 算法有 HMAC 等。
以下是一個(gè)使用 HMAC-SHA256 的 Python 示例:
import hmac
import hashlib
def hmac_sha256(data, key):
return hmac.new(key.encode('utf-8'), data.encode('utf-8'), hashlib.sha256).hexdigest()
# 示例
data = "Hello, World!"
key = "secret_key"
mac_value = hmac_sha256(data, key)
print("MAC value:", mac_value)
這些示例僅用于演示目的,實(shí)際應(yīng)用中需要根據(jù)具體需求選擇合適的加密算法和密鑰管理策略。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。