Python实现加密

Python中,你可以使用多种方法来实现加密。下面我们介绍下常用的加密方法。

一:哈希加密

下面是一个使用Python内置的hashlib库实现SHA256哈希加密的例子:

import hashlib  
  
def sha256_hash(input_string):  
    sha_signature = hashlib.sha256(input_string.encode()).hexdigest()  
    return sha_signature  
  
# 使用示例  
input_string = "Hello, world!"  
print(sha256_hash(input_string))

这个例子将输入的字符串进行SHA256哈希加密,并返回加密后的字符串。请注意,这个加密方法不是为了安全性,而是为了完整性检查和数据验证。

二:aes加密

from Crypto.Cipher import AES  

from Crypto.Util.Padding import pad, unpad  

from Crypto.Random import get_random_bytes  

  

def aes_encrypt(key, plaintext):  

    cipher = AES.new(key, AES.MODE_CBC)  

    ct_bytes = cipher.encrypt(pad(plaintext, AES.block_size))  

    iv = cipher.iv  

    return iv + ct_bytes  

  

def aes_decrypt(key, ciphertext):  

    cipher = AES.new(key, AES.MODE_CBC, iv=ciphertext[:16])  

    plaintext = unpad(cipher.decrypt(ciphertext[16:]), AES.block_size)  

    return plaintext  

  

# 使用示例  

key = get_random_bytes(16) # 16 bytes = 128 bits, the block size of AES  

plaintext = b"This is a secret message."  

ciphertext = aes_encrypt(key, plaintext)  

print(aes_decrypt(key, ciphertext)) # Should print: b'This is a secret message.'

在这个例子中,我们首先导入了必要的模块,然后定义了两个函数aes_encrypt和aes_decrypt,分别用于加密和解密。在主程序部分,我们生成了一个随机的密钥,并用它来加密和解密一条消息。注意,在实际应用中,你应该妥善保管密钥,并确保它不会泄露。

三:rsa加密

import rsa  

  

# 生成公钥和私钥  

(pubkey, privkey) = rsa.newkeys(512)  

  

# 原始信息  

message = 'Hello, RSA!'  

  

# 使用公钥进行加密  

encrypted_message = rsa.encrypt(message.encode(), pubkey)  

  

# 使用私钥进行解密  

decrypted_message = rsa.decrypt(encrypted_message, privkey)  

  

print('Original message: ', message)  

print('Encrypted message: ', encrypted_message)  

print('Decrypted message: ', decrypted_message.decode())

这个示例中,我们首先使用rsa.newkeys()函数生成公钥和私钥。然后,我们使用公钥对信息进行加密,并使用私钥对加密的信息进行解密。最后,我们打印出原始信息、加密信息和解密信息。

你可能感兴趣的:(python开发,python)