皇冠新体育APP

IT技术之家

使用python加密主机文件几种方法实现_程序员王炸

本文主要介绍了使用python加密主机文件几种方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。要求:利用python对某个目录的全部文件进行加密,密钥由用户的输入的字符串经过变化而生成,封装为一个函数,输入参数有目录路径和用户输入的字符串。该函数与上面的加密函数类似,但是它读入加密后的文件,并使用相同的密钥对数据进行异或操作,以获得原始文件。需要注意的是,RSA加密的效率较低,适用于加密少量数据,如对文件进行加密。...

今天其主要简单推荐了使用的python图片加密主机结构zip文件多少种的办法实行,这篇文章按照样例二维码简单推荐的尤其全面,对许多人的借鉴一些操作享有一段的参考使用借鉴使用价值,要的好友 们后面伴随编辑来混着借鉴借鉴吧

动态统计资料收录就是一种护理动态统计资料安全保障的新技术,展开对动态统计资料展开标识号,可使得擅自授权管理的朋友是无法收录或替换动态统计资料。 信息图片图片文件密码保护是确认适用信息图片图片文件密码保护贝叶斯为基础和秘钥确保的。信息图片图片文件密码保护贝叶斯为基础也是种其他的贝叶斯为基础,是可以将信息编号规则成没法读的结构,秘钥也是串空字符数组,采用把控好信息图片图片文件密码保护反诉密的进程。信息图片图片文件密码保护后的信息只好适用各自的秘钥解迷。 加锁在保障动态资料的卫生性角度是必要,十分是在智连网和电信设施情况中,玩家的稳私动态资料很容易遭遇顶级黑客的入侵。加锁水平仅仅行保障动态资料的稳私,还行保障动态资料的全部性,保持动态资料不被篡改。 在的企业工作环境中,大参数参数加密解密也被诸多运用于守护工厂大参数的健康安全。从补充协议到奥秘资料,参数加密解密工艺能否守护工厂大参数不被没有经过权限的者浏览。 总的来看,参数加密解密是一个种关键性的保护的参数健康安全的高技术,这对很多大家和工厂都十分的关键性。 请求:借助python对某些根目次的另其中一个资料确定图片加密,密匙由我们的复制粘贴的c语言字符数组串串经历过变迁生而成,封装形式为其中一个指数函数,复制粘贴指标有根目次线路和我们复制粘贴的c语言字符数组串串。 左右是食用 皇冠新体育APP 保证的其中一种方便的档案加密文件策划方案:
12345678910111213

importos

importhashlib

defencrypt_directory(directory, password):

forroot, dirs, files inos.walk(directory):

forfileinfiles:

path =os.path.join(root, file)

with open(path, 'rb') as f:

data =f.read()

key =hashlib.sha256(password.encode()).hexdigest()

encrypted_data =bytearray(x ^ ord(key[i %len(key)]) fori, x inenumerate(data))

with open(path, 'wb') as f:

f.write(encrypted_data)

该函数公式受到的两个性能参数:信息格式列表路径名和玩家的輸入的字节串。它完成用 os.walk 对信息格式列表下的每一位信息格式来实施信息实施读取,并将信息实施读取后的数据信息写回信息格式。信息实施读取用了异或工作,产品密钥是对玩家的輸入的字节串来实施 SHA-256 哈希的第十五进制字节串。 下例是对上文的文件加密方程公式的应对解秘方程公式:
1234567891011

scssCopy code

defdecrypt_directory(directory, password):

forroot, dirs, files inos.walk(directory):

forfileinfiles:

path =os.path.join(root, file)

with open(path, 'rb') as f:

encrypted_data =f.read()

key =hashlib.sha256(password.encode()).hexdigest()

data =bytearray(x ^ ord(key[i %len(key)]) fori, x inenumerate(encrypted_data))

with open(path, 'wb') as f:

f.write(data)

该指数方程与中的数据相关文本加密指数方程相近,不过它读入数据相关文本加密后的相关文本,并安全使用相等的密匙多数据展开异或操作方法,以有原始社会相关文本。 将以上所述代碼替换读取文件数学模型,在使用AES读取文件,代碼下面:
12345678910111213141516171819202122232425262728293031323334353637383940414243

importos

importhashlib

fromCrypto.Cipher importAES

defencrypt_directory(directory, password):

# 计算密钥

key =hashlib.sha256(password.encode()).digest()[:16]

forroot, dirs, files inos.walk(directory):

forfileinfiles:

path =os.path.join(root, file)

# 读取文件

with open(path, 'rb') as f:

data =f.read()

# 对数据进行补位

padding_length =16-len(data) %16

data +=bytes([padding_length] *padding_length)

# 初始化加密器

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

# 加密数据

encrypted_data =cipher.encrypt(data)

# 将加密后的数据写回文件

with open(path, 'wb') as f:

f.write(encrypted_data)

defdecrypt_directory(directory, password):

# 计算密钥

key =hashlib.sha256(password.encode()).digest()[:16]

forroot, dirs, files inos.walk(directory):

forfileinfiles:

path =os.path.join(root, file)

# 读取文件

with open(path, 'rb') as f:

encrypted_data =f.read()

# 初始化解密器

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

# 解密数据

data =cipher.decrypt(encrypted_data)

# 删除补位数据

padding_length =data[-1]

data =data[:-padding_length]

# 将解密后的数据写回文件

with open(path, 'wb') as f:

f.write(data)

注:下面的编号仅限于考生,不意见建议在工作坏境中安全使用的。AES ECB 机制并也不是很稳定,需要安全使用的的机制。 或许采用非对应加锁: 在等你适用RSA读取计算方法完成大数据的读取解析:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

importos

importrsa

defencrypt_file(file_path, public_key_file):

"""使用RSA算法加密文件

参数:

file_path: 需要加密的文件路径

public_key_file: 公钥文件路径

返回值:

"""

# 读取文件内容

with open(file_path, "rb") as file:

file_content =file.read()

# 读取公钥

with open(public_key_file, "rb") as key_file:

public_key =rsa.PublicKey.load_pkcs1(key_file.read())

# 加密文件内容

encrypted_content =rsa.encrypt(file_content, public_key)

# 将加密后的内容写入文件

with open(file_path, "wb") as file:

file.write(encrypted_content)

defdecrypt_file(file_path, private_key_file, password):

"""使用RSA算法解密文件

参数:

file_path: 需要解密的文件路径

private_key_file: 私钥文件路径

password: 私钥文件密码

返回值:

"""

# 读取文件内容

with open(file_path, "rb") as file:

encrypted_content =file.read()

# 读取私钥

with open(private_key_file, "rb") as key_file:

private_key =rsa.PrivateKey.load_pkcs1(key_file.read(), password)

# 解密文件内容

file_content =rsa.decrypt(encrypted_content, private_key)

# 将解密后的内容写入文件

with open(file_path, "wb") as file:

file.write(file_content)

须要考虑的是,RSA图片加密系统文件方式的学习效率较低,可使用于于图片加密系统文件方式少量的数据系统文件,如对系统文件开始图片加密系统文件方式 到此这篇关羽适用python读取监控主机文件名称下列方式做到的原创文章就讲述到这了。
300+皇冠新体育APP经典编程案例
50G+学习视频教程
点击拿去