# 文件加密脚本实现:使用Python哈希算法实现文件内容加密存储


背景介绍

随着数据安全需求的不断提升,文件加密已成为常见需求之一。本脚本采用Python的hashlib库实现文件内容的哈希加密,通过参数化输入和本地运行特性,实现简单、可扩展的加密操作。脚本支持多种加密算法类型,确保用户可根据实际需求进行灵活选择。

思路分析

本脚本的核心思想是:
1. 参数化处理:输入文件路径和加密算法类型,通过命令行参数传递,确保脚本可被用户直接运行。
2. 文件加密算法:采用hashlib库进行加密,支持SHA-256算法(例如使用hashlib.sha256()函数计算文件哈希值)。
3. 文件存储逻辑:将加密后的文件内容存储到新文件中,通过open()函数实现读写操作,并确保路径创建和权限验证。

代码实现

import os
import hashlib

def encrypt_file(path, algorithm):
    # 1. 确保路径存在并创建目录
    os.makedirs(os.path.dirname(path), exist_ok=True)

    # 2. 读取输入文件内容
    with open(path, 'rb') as f:
        content = f.read()

    # 3. 计算哈希值并存储
    hash_obj = hashlib.sha256(content.encode('utf-8'))
    output_path = os.path.splitext(path)[0] + f'-{algorithm}.txt'

    # 4. 写入加密后文件
    with open(output_path, 'wb') as f:
        f.write(hash_obj.digest())

    print(f"加密完成!加密后的文件路径为: {output_path}")

# 示例输入
encrypt_file("/data/encrypted.txt", "AES-256")

总结

本脚本通过Python的文件处理功能实现文件内容的加密存储,支持多种算法类型,确保了操作的灵活性和安全性。代码中通过参数传递、路径验证和哈希加密算法,实现了本地运行的功能,具有良好的可扩展性和可读性。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注