亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下Python加密解密技術

發布時間:2024-09-11 21:54:58 來源:億速云 閱讀:83 作者:小樊 欄目:編程語言

在 Linux 下,Python 提供了多種加密和解密的方法

  1. 對稱加密:

對稱加密是指加密和解密使用相同密鑰的加密算法。常見的對稱加密算法有 AES、DES 和 3DES 等。

以下是一個使用 AES 加密和解密的 Python 示例:

from Crypto.Cipher import AES
import base64

# 加密函數
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')

# 解密函數
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)
  1. 非對稱加密:

非對稱加密是指加密和解密使用不同密鑰的加密算法。常見的非對稱加密算法有 RSA 和 ECC 等。

以下是一個使用 RSA 加密和解密的 Python 示例:

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
import base64

# 生成密鑰對
def generate_key_pair():
    key = RSA.generate(2048)
    private_key = key.export_key()
    public_key = key.publickey().export_key()
    return private_key, public_key

# 加密函數
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')

# 解密函數
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)
  1. 哈希和消息認證碼:

哈希是將任意長度的輸入數據轉換為固定長度的輸出數據的過程。常見的哈希算法有 MD5、SHA-1、SHA-256 等。

以下是一個使用 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)

消息認證碼(MAC)是一種確保數據完整性和驗證身份的技術。常見的 MAC 算法有 HMAC 等。

以下是一個使用 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)

這些示例僅用于演示目的,實際應用中需要根據具體需求選擇合適的加密算法和密鑰管理策略。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 东丽区| 昭平县| 离岛区| 化隆| 开原市| 海城市| 永靖县| 富顺县| 长岛县| 定襄县| 安阳县| 江阴市| 九龙城区| 南安市| 靖远县| 南陵县| 扎鲁特旗| 申扎县| 阿拉善右旗| 齐齐哈尔市| 海口市| 呈贡县| 平昌县| 青冈县| 海林市| 正镶白旗| 大连市| 多伦县| 清流县| 桦甸市| 天柱县| 如东县| 张家港市| 五家渠市| 凤冈县| 方正县| 比如县| 和顺县| 兖州市| 喀什市|