返回顶部
首页 > 资讯 > 后端开发 > Python >怎么用python实现超强的加密软件
  • 316
分享到

怎么用python实现超强的加密软件

2023-06-26 05:06:11 316人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关怎么用python实现超强的加密软件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。步骤首先导入库import osimport hashlib读取文件与写入

这篇文章将为大家详细讲解有关怎么用python实现超强的加密软件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

步骤

首先导入库

import osimport hashlib

读取文件与写入文件

a = open(name_1, "rb")  #读取文件b = open(data, "wb")    #写入文件a.close()    #保存退出b.close()    #保存退出

使用ord进行编码,用bytes进行解码,内置索引进行循环读取密码,挨个读取进行编码写入,

#加密及解密def Encryption_and_decryption():    count = 0  #索引    for now in a:        for nowByte in now:            newByte = nowByte ^ ord(passWord_data[count % len(password_data)])  #循环遍历出密码的ord值,单个循环            count += 1            b.write(bytes([newByte]))   #转换Encryption_and_decryption()

用ord进行编码可以看到会出现一点问题,就是加密后的文件,如文本文件,如果加密的密码是‘qwer’,编码则会将q w e r分别用bytes编码为 113 119 101 114,然后把编码后的数字在循环内一个一个插入到文本内,进行代替,解密也是同样原理,但是有一个致命缺陷,就是假如你的密码是”qwer“,解码的时候输入一个密码 q 即可全部解码成功,这个是一个缺陷。

所以我使用MD5进行加密,然后再进行编码,MD5大家都知道,不同的MD5值是由不同的字母、数字、字符串组合进行转换而成,MD5也区分大小写,这也让我们的加密软件更安全一步

hl = hashlib.md5()hl.update(password.encode(encoding='utf-8'))password_list = hl.hexdigest()

为了我们的资料,我将MD5进行了二次加密,用已经加密后的MD5值再次进行加密,然后将第一个MD5值和第二个MD5值进行组合(非相加),组成高强度的加密

#使用MD5进行加密(双层加密)hl = hashlib.md5()hl.update(password.encode(encoding='utf-8'))password_list = hl.hexdigest() hl.update(password_list.encode(encoding='utf-8'))password_list2 = hl.hexdigest()password_data = password_list+password_list2

解码也是同样原理,将密码进行MD5加密再加密,然后进入文件进行编码转换,如果密码正确则文件不会有乱码,如果密码错误则文件内都是乱码,这个程序是没有解码和加密成功的提示。

由于路径多种多样,程序会因此运行错误,所以我用replace进行路径’\ /‘转换,把所有的’\\‘和’\‘转换为’/‘,用于程序方便读取

name_1 = name_1.replace("\\", "/")  # 替换data = data.replace("\\", "/")  # 替换

为了方便大家进行使用,提取进行程序的检测,检测是否存在该文件,或路径的错误

if os.path.exists(name_1) == True:    passelse:    print('请检查是否路径错误或不存在该文件!!!!')    os.system('pause')    exit()

保存的路径不可缺少,如果保存的路径没有输入直接跳过则会默认为读取程序的位置,如果读取程序的路径也没有写入,则会以读取程序的根目录为存储地进行保存

if name_1.split(".")[1][-4:] == 'DATA':    F = name_1.split(".")[1].replace("DATA", "")    if os.path.split(data)[0] == '':        if os.path.split(name_1)[0] == '':            data = os.path.split(name_1)[-1].split(".")[0] + '.' + F        else:            data = os.path.split(name_1)[0] + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + F    else:        data = data + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + Felse:    # 保存路径    if os.path.split(data)[0] == '':        if os.path.split(name_1)[0] == '':            data = name_1.split(".")[1]  # 后缀            data = os.path.split(name_1)[-1].split(".")[0] + '.' + data + 'DATA'        else:            data = name_1.split(".")[1]  # 后缀            data = os.path.split(name_1)[0] + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + data + 'DATA'    else:        name_3 = name_1.split(".")[1]  # 后缀        data = data + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + name_3 + 'DATA'

这个程序加密后会在程序后缀出现DATA,这个是为了方便清楚的知道什么是已加密程序,而且还可以让软件程序检测是否是已经加密过的程序,方便解密。

完整代码:

import osimport hashlib  print("-------------------------------------软件加密工具-------------------------------------")print("关注博主不迷路!!!\nhttps://jianGongfang.blog.csdn.net/\nHttps://blog.51cto.com/u_15449377")print("使用告知:\n【加密后的文件后缀会多出DATA,是为了方便软件检测,请勿乱改加密后的后缀名】")print("【保存文件默认路径 为加密文件或解密文件的当前目录,不是软件的当前目录】")print("【要加密或解密的文件命名不可有“./\”字符,否则会出错】")print("-------------------------------------软件加密工具-------------------------------------\n")name_1 = input('输入要加密或解密的文件名含后缀:')#判断是否存在该文件if os.path.exists(name_1) == True:    passelse:    print('请检查是否路径错误或不存在该文件!!!!')    os.system('pause')    exit() password = input('请输入要加密或解密的密码:')data = input('输入要保存文件的路径位置(可不填):')  name_1 = name_1.replace("\\", "/")  # 替换data = data.replace("\\", "/")  # 替换 if name_1.split(".")[1][-4:] == 'DATA':    F = name_1.split(".")[1].replace("DATA", "")    if os.path.split(data)[0] == '':        if os.path.split(name_1)[0] == '':            data = os.path.split(name_1)[-1].split(".")[0] + '.' + F        else:            data = os.path.split(name_1)[0] + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + F    else:        data = data + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + Felse:    # 保存路径    if os.path.split(data)[0] == '':        if os.path.split(name_1)[0] == '':            data = name_1.split(".")[1]  # 后缀            data = os.path.split(name_1)[-1].split(".")[0] + '.' + data + 'DATA'        else:            data = name_1.split(".")[1]  # 后缀            data = os.path.split(name_1)[0] + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + data + 'DATA'    else:        name_3 = name_1.split(".")[1]  # 后缀        data = data + '/' + os.path.split(name_1)[-1].split(".")[0] + '.' + name_3 + 'DATA'   a = open(name_1, "rb")  #读取文件b = open(data, "wb")    #写入文件   #使用MD5进行加密(双层加密)hl = hashlib.md5()hl.update(password.encode(encoding='utf-8'))password_list = hl.hexdigest() hl.update(password_list.encode(encoding='utf-8'))password_list2 = hl.hexdigest()password_data = password_list+password_list2 #加密及解密def Encryption_and_decryption():    count = 0  #索引    for now in a:        for nowByte in now:            newByte = nowByte ^ ord(password_data[count % len(password_data)])  #循环遍历出密码的ord值,单个循环            count += 1            b.write(bytes([newByte]))   #转换Encryption_and_decryption()a.close()b.close() os.system('pause')

可以看到已经加密的程序后缀有DATA,解密后会恢复原来的后缀名

怎么用python实现超强的加密软件

关于“怎么用Python实现超强的加密软件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么用python实现超强的加密软件

本文链接: https://lsjlt.com/news/306976.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用python实现超强的加密软件
    这篇文章将为大家详细讲解有关怎么用python实现超强的加密软件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。步骤首先导入库import osimport hashlib读取文件与写入...
    99+
    2023-06-26
  • 用python实现超强的加密软件
    目录前言步骤完整代码: 总结前言 使用python做一个加密资料的软件,可加密应用程序、文件、压缩包等多种文件格式,不可直接加密文件夹,可以先用压缩包打包在加密。加密后的文...
    99+
    2024-04-02
  • Python教程自己实现软件加密功能
    目录原理加密操作:解密操作:生成随机密钥:加密单元:解密单元:加密文本文件解密文件基础知识 在 Python 中异或操作符为:^,也可以记作 XOR。按位异或的意思是:相同值异或为 ...
    99+
    2024-04-02
  • python文件加密功能怎么实现
    要实现一个Python文件加密的功能,可以考虑以下步骤:1. 选择一种加密算法,如AES、DES等。这些算法在Python中可以通过...
    99+
    2023-09-27
    python
  • 怎么利用Python实现RSA加密解密
    这篇文章主要介绍“怎么利用Python实现RSA加密解密”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么利用Python实现RSA加密解密”文章能帮助大家解决问题。RSA加密实验基本流程:一、选取...
    99+
    2023-06-29
  • 怎么使用python实现md5加密
    本文小编为大家详细介绍“怎么使用python实现md5加密”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用python实现md5加密”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。python实现MD5加密...
    99+
    2023-07-06
  • Python怎么实现RSA加密解密
    这篇文章主要介绍了Python怎么实现RSA加密解密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现RSA加密解密文章都会有所收获,下面我们一起来看看吧。一、安装模块pip inst...
    99+
    2023-06-30
  • python rsa加密解密怎么实现
    在Python中,可以使用`cryptography`库来实现RSA加密和解密。以下是一个示例: from cryptography...
    99+
    2023-10-26
    python
  • 怎么使用jquery实现文件加密
    本文小编为大家详细介绍“怎么使用jquery实现文件加密”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用jquery实现文件加密”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、什么是jqueryjQue...
    99+
    2023-07-05
  • 使用pyinstaller怎么实现一个超级加密功能
    这篇文章将为大家详细讲解有关使用pyinstaller怎么实现一个超级加密功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.首先安装上必须的包pip install ...
    99+
    2023-06-07
  • python怎么实现批量文件加密功能
    这篇文章主要介绍“python怎么实现批量文件加密功能”,在日常操作中,相信很多人在python怎么实现批量文件加密功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么实现批量文件加密功能”的疑...
    99+
    2023-06-20
  • Python中callfunction调用加密怎么实现
    在Python中,可以使用以下步骤来实现调用加密函数: 导入加密相关的模块,例如hashlib或cryptography。 ...
    99+
    2024-02-29
    Python
  • java怎么实现rsa加密解密文件
    要在Java中实现RSA加密和解密文件,可以使用Java Cryptography Architecture(JCA)提供的RSA算...
    99+
    2023-10-26
    java
  • 硬盘硬件加密和软件加密的区别是什么
    硬盘硬件加密和软件加密的区别有以下几点:加密方式不同硬件加密是使用安置在加密闪存盘上的专用处理器,是在硬件上进行验证;而软件加密是通过与计算机上的其他程序共享计算机资源且对数据进行加密,将用户密码作为对数据进行干扰的加密密钥;使用场景不同硬...
    99+
    2024-04-02
  • python怎么加密文件
    使用python加密文件的方法:1.新建python项目;2.导入hashlib模块;3.使用hashlib.sha1()方法加密内容;4.使用open()函数打开文件;5.使用write()方法将内容写入文件;具体步骤如下:首先,打开py...
    99+
    2024-04-02
  • python密码学实现文件加密教程
    目录代码输出说明在Python中,可以在传输到通信通道之前加密和解密文件.为此,您必须使用插件 PyCrypto .您可以使用下面给出的命令安装此插件. pip ...
    99+
    2024-04-02
  • 使用python实现md5加密
    python实现MD5加密 1、简介 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用于确保信息传输完...
    99+
    2023-05-17
    python md5 python md5加密
  • python密码加密与解密的实现
    目录一、对称加密1.1 安装第三方库 - PyCrypto1.2 加密实现二、非对称加密三、摘要算法3.1 md5加密3.2 sha1加密3.3 sha256加密3.4 sha384...
    99+
    2023-02-07
    python 密码加密 python 密码解密
  • Linux下怎么破解PHP加密dezend软件
    这篇文章主要讲解了“Linux下怎么破解PHP加密dezend软件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下怎么破解PHP加密dezend软件”吧!解密ZEND加密后的PHP...
    99+
    2023-06-17
  • 使用python怎么破解加密zip文件的密码
    使用python怎么破解加密zip文件的密码?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作