溫馨提示×

Python加密與解密解密難嗎

小樊
82
2024-11-02 18:58:33
欄目: 編程語言

Python 加密和解密的技術(shù)不難掌握。有許多現(xiàn)成的庫可以幫助你實現(xiàn)加密和解密的功能。以下是一些常用的庫和方法:

  1. PyCryptodome:這是一個功能強(qiáng)大的加密庫,提供了許多加密算法,如 AES、DES、RSA 等。使用 PyCryptodome,你可以輕松地實現(xiàn)加密和解密功能。

    安裝:pip install pycryptodome

    示例:

    from Crypto.Cipher import AES
    from Crypto.Random import get_random_bytes
    from Crypto.Util.Padding import pad, unpad
    
    key = get_random_bytes(16)  # AES-128 需要 16 字節(jié)的密鑰
    plaintext = b"Hello, World!"
    
    cipher = AES.new(key, AES.MODE_CBC)
    ciphertext = cipher.encrypt(pad(plaintext, AES.block_size))
    
    print("加密后的文本:", ciphertext)
    
    cipher = AES.new(key, AES.MODE_CBC, cipher.iv)
    decrypted_text = unpad(cipher.decrypt(ciphertext), AES.block_size)
    
    print("解密后的文本:", decrypted_text)
    
  2. cryptography:這是另一個流行的加密庫,提供了許多加密算法和密碼學(xué)工具。

    安裝:pip install cryptography

    示例:

    from cryptography.fernet import Fernet
    
    key = Fernet.generate_key()
    cipher_suite = Fernet(key)
    
    plaintext = b"Hello, World!"
    ciphertext = cipher_suite.encrypt(plaintext)
    
    print("加密后的文本:", ciphertext)
    
    decrypted_text = cipher_suite.decrypt(ciphertext)
    
    print("解密后的文本:", decrypted_text)
    

這些庫提供了簡單易用的接口,讓你可以快速實現(xiàn)加密和解密功能。當(dāng)然,加密和解密本身涉及到許多復(fù)雜的數(shù)學(xué)原理和安全問題,但如果你只需要實現(xiàn)基本的加密和解密功能,這些庫已經(jīng)足夠使用了。如果你需要更深入地了解加密技術(shù),建議學(xué)習(xí)密碼學(xué)相關(guān)書籍和課程。

0