python如何给文件加密与解密

要给文件加密和解密,可以使用Python中的加密模块如cryptography或PyCrypto。以下是一个使用PyCrypto模块进行文件加密和解密的示例代码:from Crypto.Cipher import AESfrom Crypto.Random import get_random_bytesdef encrypt_file(input_file, output_file, key)

要给文件加密和解密,可以使用Python中的加密模块如cryptographyPyCrypto。以下是一个使用PyCrypto模块进行文件加密和解密的示例代码:

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes

def encrypt_file(input_file, output_file, key):
    cipher = AES.new(key, AES.MODE_EAX)
    with open(input_file, 'rb') as f_in:
        data = f_in.read()
        nonce = cipher.nonce
        ciphertext, tag = cipher.encrypt_and_digest(data)
    
    with open(output_file, 'wb') as f_out:
        f_out.write(nonce)
        f_out.write(tag)
        f_out.write(ciphertext)

def decrypt_file(input_file, output_file, key):
    with open(input_file, 'rb') as f_in:
        nonce = f_in.read(16)
        tag = f_in.read(16)
        ciphertext = f_in.read()
    
    cipher = AES.new(key, AES.MODE_EAX, nonce=nonce)
    data = cipher.decrypt_and_verify(ciphertext, tag)
    
    with open(output_file, 'wb') as f_out:
        f_out.write(data)

# Generate a random key
key = get_random_bytes(16)

# Encrypt a file
encrypt_file('input.txt', 'encrypted.txt', key)

# Decrypt the encrypted file
decrypt_file('encrypted.txt', 'output.txt', key)

在上面的示例中,我们首先使用encrypt_file()函数对输入文件进行加密,然后使用decrypt_file()函数对加密后的文件进行解密。在加密和解密过程中,我们使用AES加密算法和随机生成的16字节密钥。

请注意,加密和解密文件时,务必保管好密钥,以便正确解密文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/881305.html

(0)
派派
上一篇 2024-02-20
下一篇 2024-02-20

相关推荐

  • php如何同步方法(php跨域同步登录)

    php濡備綍鍚屾鏂规硶,php璺ㄥ煙鍚屾鐧诲綍鍐呭瀵艰埅锛氬浣曟纭涔爌hpphp濡備綍瀹炵幇涓や釜绯荤粺鐨勫悓姝HP鎬庢牱瀹炵幇涓や釜绔欑偣鏂囦欢鍚屾PHP寮€鍙戝ぇ鍨嬮」鐩殑鏂规硶鏄粈涔堜竴銆佸浣曟纭涔爌hpPHP鍥犲叾璇硶绠€鍗曘€佸唴寤哄嚱鏁板簱涓板瘜锛屾墍浠ョ粰浜虹殑鐩磋鎰熻鏄笂鎵嬪揩锛屼絾鎯崇簿閫氳繖闂ㄨ瑷€寰堥?

    2022-04-15
    0
  • 「平台需要什么资质」网贷平台需要哪些资质

    平台需要什么资质,怎么审核平台资质 内容导航: 做商城网站需要有哪些证件资质 建设正规的现货交易平台需要哪些资质 关于网络第三方平台所需要的资质 网贷平台需要哪些资质 一、做商城网…

    2022-08-15
    0
  • opencv显示图片的方法是什么

    在OpenCV中显示图片的方法是使用cv2.imshow()函数。下面是使用该函数的示例代码:import cv2# 读取图片img = cv2.imread('image.jpg')# 显示图片cv2.imshow('Image', img)# 等待键盘输入cv2.waitKey(0)# 关闭窗口cv2.destroyAllWindows()在上

    2024-02-02
    0
  • Lua中怎么导入和使用模块

    在Lua中导入和使用模块可以通过require函数来实现。以下是一个简单的示例:假设有一个名为mymodule.lua的模块文件,内容如下:local M = {}function M.sayHello()print(“Hello from mymodule”)endreturn M在另一个Lua文件中,可以通过require函数导入并使用这个模块:local mymodule = req

    2024-04-16
    0
  • Oracle数据库中的索引是什么

    索引是一种特殊的数据库对象,它可以加快数据库查询操作的速度。索引可以帮助数据库系统快速定位和访问表中的数据,从而提高查询效率。在Oracle数据库中,索引可以基于一个或多个列创建,可以是唯一索引或非唯一索引。通过在经常进行查询的列上创建索引,可以提高查询性能和减少系统资源的消耗。

    2024-03-03
    0
  • mysql怎么导出数据库所有表结构

    如果想要导出MySQL数据库中所有表的结构,可以使用以下命令:mysqldump -u username -p –no-data database_name > output_file.sql其中,username是数据库的用户名,database_name是要导出的数据库名称,output_file.sql是导出的文件名。执行该命令后,会将数据库中所有表的结构信息导出到指定的文件中。

    2024-02-26
    0

发表回复

登录后才能评论