溫馨提示×

python js爬蟲如何進行數據加密和解密

小樊
126
2024-12-12 05:11:46
欄目: 編程語言

在Python和JavaScript中進行數據加密和解密,通常需要使用一些加密庫。這里我將分別為你提供Python和JavaScript的示例代碼,以展示如何使用AES加密和解密數據。

Python 示例:

首先,你需要安裝pycryptodome庫,可以使用以下命令安裝:

pip install pycryptodome

然后,你可以使用以下代碼進行AES加密和解密:

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
import base64

def encrypt(data, key):
    cipher = AES.new(key, AES.MODE_CBC)
    ct_bytes = cipher.encrypt(pad(data.encode('utf-8'), AES.block_size))
    iv = base64.b64encode(cipher.iv).decode('utf-8')
    ct = base64.b64encode(ct_bytes).decode('utf-8')
    return iv + ':' + ct

def decrypt(encrypted_data, key):
    iv, ct = encrypted_data.split(':')
    iv = base64.b64decode(iv)
    ct = base64.b64decode(ct)
    cipher = AES.new(key, AES.MODE_CBC, iv)
    return unpad(cipher.decrypt(ct), AES.block_size).decode('utf-8')

key = get_random_bytes(16)
data = 'Hello, World!'

encrypted_data = encrypt(data, key)
print('Encrypted data:', encrypted_data)

decrypted_data = decrypt(encrypted_data, key)
print('Decrypted data:', decrypted_data)

JavaScript 示例:

在JavaScript中,你可以使用crypto-js庫進行AES加密和解密。首先,你需要安裝這個庫:

npm install crypto-js

然后,你可以使用以下代碼進行AES加密和解密:

const CryptoJS = require('crypto-js');

function encrypt(data, key) {
    const iv = CryptoJS.lib.WordArray.random(16);
    const encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv });
    return iv.concat(encrypted.ciphertext).toString(CryptoJS.enc.Base64);
}

function decrypt(encryptedData, key) {
    const [iv, ciphertext] = encryptedData.split(':');
    const decodedIV = CryptoJS.enc.Base64.parse(iv);
    const decodedCiphertext = CryptoJS.enc.Base64.parse(ciphertext);
    const decrypted = CryptoJS.AES.decrypt({ ciphertext: decodedCiphertext }, key, { iv: decodedIV });
    return decrypted.toString(CryptoJS.enc.Utf8);
}

const key = CryptoJS.lib.WordArray.random(16).toString();
const data = 'Hello, World!';

const encryptedData = encrypt(data, key);
console.log('Encrypted data:', encryptedData);

const decryptedData = decrypt(encryptedData, key);
console.log('Decrypted data:', decryptedData);

這些示例代碼展示了如何在Python和JavaScript中使用AES加密和解密數據。請注意,為了確保數據安全,你需要妥善保管加密密鑰。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女