用户:叮咚AGik查看:1 回复:3 评论:1 创建时间:2021-10-30T12:11:57
【作品展示】

【作品介绍】
SAH数据加密beta版分为三种加密方式(ordbin,ordhex,ordbin),解密自动判断加密算法并解密。
可一键多次加密。解密自动解密至明文。算法为计算机转换,不易破解。有系统日志和账号记录。卸载和图形化,运行需pip下载pyautogui和pyeasygui。账号和密码随意填写,管喵密码报密,密码自动转换为*,请勿随意查看源代码。
——本文由叮咚 A Gik原创抄袭必究!
【作品源代码】
import time
import pyautogui
# 设定函数
def function1(写入):
fp = open("系统日志.orclog", "a")
fp.write(time.ctime() + 写入 + "\n")
fp.close()
# 记录系统启动
function1("系统启动")
# 启动前判定
# 是否曾异常关闭
# 读取pdbool
fp = open("错误后再启动判定.pdbool", "r")
strs = fp.read()
fp.close()
# 判定是否曾异常关闭
if(strs == "True"):
# 曾异常关闭
fp = open("上次登录的账号.dlzhlog", "r")
strs = fp.read()
fp.close()
fp = open("系统日志.orclog", "a")
fp.write(strs + "异常关闭,在" + time.ctime() + "发现!"+"\n")
fp.close()
fp = open("曾经异常关闭账号.ygzlog", "a")
fp.write(strs+"\n")
fp.close()
# 变量预加载
i = 0
# 账号注册登录
while(i == 0):
# 询问登录或注册
xx = pyautogui.confirm('登录或注册', buttons=['注册', '登录'])
# 判定登录或注册
if(xx == "登录"):
# 登录
# 记录操作
function1("启动登录进程")
# 记录操作
function1("开始输入登录账号")
# 输入账号
账号 = pyautogui.prompt('账号')
# 记录操作
function1("结束输入登录账号")
# 记录操作
function1("开始输入登录密码")
# 输入密码
密码 = pyautogui.password('密码')
# 记录操作
function1("结束输入登录密码")
# 启动账号库
fp = open("账号密码.zhmmlog", "r")
strs = fp.readlines()
# 将密码整合
zhmm = 账号 + " " + 密码 + '\n'
# 核验账号是否已注册
if(zhmm in strs):
# 记录操作
function1("验证结果已注册")
# 已注册
用户名 = zhmm
i = 1
fp.close()
pyautogui.alert(text='登录成功', title='SAH')
else:
# 记录操作+zhmm
function1("验证结果未注册,尝试登录的账号密码:" + zhmm)
# 未注册
pyautogui.alert(text='未注册,请先注册账号', title='SAH')
fp.close()
elif(xx == "注册"):
# 注册
# 记录操作
function1("开始注册账号")
# 启动账号库(为防止二次注册)
fp = open("账号密码.zhmmlog", "r")
strs = fp.readlines()
fp.close()
# 记录操作
function1("开始输入注册账号")
# 输入账号
账号 = pyautogui.prompt('账号')
# 记录操作
function1("结束注册账号")
# 启动账号库写入
fp = open("账号密码.zhmmlog", "a")
# 设置密码
while(i == 0):
# 记录操作
function1("开始输入第一次注册密码")
# 输入密码
密码 = pyautogui.password('第一次输入密码')
# 记录操作
function1("结束输入第一次注册密码")
# 记录操作
function1("开始输入第二次注册密码")
# 验证密码(为保证密码正确)
密码验证 = pyautogui.password('第二次输入密码')
# 记录操作
function1("结束输入第二次账号密码")
# 将密码整合
zhmm = 账号 + " " + 密码 + '\n'
# 判定账号是否已注册
if(zhmm in strs):
# 已注册
# 记录操作
function1("判定结果已经注册,已注册过的账号密码:" + zhmm)
pyautogui.alert(text='您的账号注册,请直接登录', title='SAH')
break
else:
# 未注册
# 记录操作
function1("判定结果未注册")
# 验证密码两次输入是否一致
if(密码 == 密码验证):
# 一致
# 记录操作
function1("判定结果密码一致")
fp.write(zhmm)
fp.close()
pyautogui.alert(text='注册成功', title='SAH')
用户名 = zhmm
i = 1
else:
# 不一致
# 记录操作
function1("判定结果密码不一致,第一次的密码:" + 密码 + ",第二次密码:" + 密码验证)
pyautogui.alert(text='两次密码输入不一样,请重新输入', title='SAH')
# 重置pd
fp = open("错误后再启动判定.pdbool", "w")
fp.write("True")
fp.close()
# 加载上次登录账号
fp = open("上次登录的账号.dlzhlog", "w")
fp.write(zhmm)
fp.close()
# 函数预加载
def 加密():
# 记录操作指令
function1(zhmm + "启动加密进程")
# 记录操作指令
function1(zhmm + "开始输入加密次数")
# 输入加密次数
cs = pyautogui.prompt('次数')
# 记录操作指令
function1(zhmm + "结束输入加密次数" + "次数:" + cs)
# 记录操作指令
function1(zhmm + "开始输入加密算法")
# 输入加密算法
jmsf = pyautogui.confirm('服务选择', buttons=['bin','hex','oct'])
# 记录操作指令
function1(zhmm + "结束输入加密算法" + "加密算法:" + jmsf)
# 记录操作指令
function1(zhmm + "进入加密循环")
# 进行加密
for I in range(int(cs)):
# 记录操作指令
function1(zhmm + "开始进行加密循环" + "循环:" + str(I))
# 加密
# 导入数据
fp = open("解密.txt", "r+")
strs = fp.read()
fp.close()
# 导入文件中的数据
fp = open("解密.txt", "r+")
strs = fp.read()
fp.close()
# 记录操作指令
function1(zhmm + "进行加密" + "内容:" + strs)
# 加载变量
待加密, 未解译加密, i, 已加密 = [], strs, 0, []
# 将加密数据写入列表
for __count in range(len(未解译加密)):
待加密.append(未解译加密[i])
i += 1
# 通过算法进行加密
if(jmsf == "bin"):
for __count in range(len(待加密)):
已加密.append(str(bin(ord(待加密[0]))))
del 待加密[0]
sf = "bin"
elif(jmsf == "oct"):
for __count in range(len(待加密)):
已加密.append(str(oct(ord(待加密[0]))))
del 待加密[0]
sf = "oct"
elif(jmsf == "hex"):
for __count in range(len(待加密)):
已加密.append(str(hex(ord(待加密[0]))))
del 待加密[0]
sf = "hex"
# 保存加密结果到文件
fp = open("解密.txt", "w")
fp.write(' '.join(已加密))
fp.close()
# 记录操作指令
function1(zhmm + "结束加密" + "完成全部循环" + "加密内容:" + (' '.join(已加密)) + "算法:" + sf + "总次数:" + cs)
# 记录操作指令
function1(zhmm + "开始加密结果总保存")
# 保存加密结果到文件
fp = open("解密.txt", "w")
fp.write(' '.join(已加密))
fp.write(" " + cs)
fp.close()
fp = open("解密.txt", "r")
strs = fp.read()
pyautogui.alert(text=strs, title='SAH')
fp.close()
# 记录操作指令
function1(zhmm + "结束加密结果总保存" + "最终加密内容:" + strs)
def 解密():
# 记录操作指令
function1(zhmm + "启动解密进程")
# 记录操作指令
function1(zhmm + "开始导入数据")
# 导入数据
fp = open("解密.txt", "r+")
strs = fp.read()
fp.close()
# 简易重置变量
待加密, 未接译加密 = [], strs
# 将加密数据写入列表
待加密 = 未接译加密.split(' ')
# 记录操作指令
# 记录操作指令
function1(zhmm + "开始读取次数")
# 读取次数
cs = 待加密[-1]
# 记录操作指令
function1(zhmm + "结束读取次数" + "次数:" + cs)
# 记录操作指令
function1(zhmm + "开始操作列表")
# 列表操作
del 待加密[-1]
# 记录操作指令
function1(zhmm + "结束操作列表")
# 记录操作指令
function1(zhmm + "开始文件操作")
# 文件操作
fp = open("解密.txt", "w")
fp.write(' '.join(待加密))
fp.close()
# 记录操作指令
function1(zhmm + "结束文件操作")
# 记录操作指令
function1(zhmm + "加密数据:" + str(待加密))
for i in range(int(cs)):
# 记录操作指令
function1(zhmm + "开始进行解密循环" + "循环:" + str(i))
# 解密
# 记录操作指令
function1(zhmm + "进行解密")
# 导入数据
fp = open("解密.txt", "r+")
strs = fp.read()
fp.close()
# 记录操作指令
function1(zhmm + "进行加密" + "内容:" + strs)
# 加载变量
待加密, 未接译加密, i, 已加密 = [], strs, 0, []
# 将加密数据写入列表
待加密 = 未接译加密.split(' ')
# 进行加密
sf = "Null"
if("0x" in 待加密[0]):
for __count in range(len(待加密)):
已加密.append(str(chr(int(int(str(待加密[0]), 16)))))
del 待加密[0]
sf = "hex"
elif("0o" in 待加密[0]):
for __count in range(len(待加密)):
已加密.append(str(chr(int(int(str(待加密[0]), 8)))))
del 待加密[0]
sf = "oct"
elif("0b" in 待加密[0]):
for __count in range(len(待加密)):
已加密.append(str(chr(int(int(str(待加密[0]), 2)))))
del 待加密[0]
sf = "bin"
# 保存加密结果到文件
fp = open("解密.txt", "w")
fp.write(''.join(已加密))
# 记录操作指令
function1(zhmm + "结束加密" + "加密内容:" +(' '.join(已加密)) + "算法:" + sf)
pyautogui.alert(text=已加密, title='SAH')
def 写入():
# 写入
# 记录操作指令
function1(zhmm + "进行写入")
# 开始运行
fp = open("解密.txt", "w")
fp.write(pyautogui.prompt('重置内容'))
fp.close()
def 读取():
# 读取
# 记录操作指令
function1(zhmm + "进行读取")
# 开始运行
fp = open("解密.txt", "r")
strs = fp.read()
fp.close()
if(strs == ""):
pyautogui.alert(text='Null', title='SAH')
else:
pyautogui.alert(text=strs, title='SAH')
def 重置():
# 重置
# 记录操作指令
function1(zhmm + "进行重置")
# 开始运行
fp = open("解密.txt", "w")
fp.close()
# 运行主程序
# 变量预加载
zjdr = 0
# 记录操作指令
function1(zhmm + "默认前缀为自动前缀")
while True:
ini = pyautogui.confirm('服务选择', buttons=['加密','解密','写入','读取','重置','停止'])
if (ini == "加密"):
加密()
elif(ini == "解密"):
解密()
elif(ini == "写入"):
写入()
elif(ini == "读取"):
读取()
elif(ini == "重置"):
重置()
elif(ini == "停止"):
# 停止
# 记录操作指令
function1(zhmm + "停止程序")
# 开始运行
break
pyautogui.alert(text='程序停止', title='SAH')
# 重置pd
fp = open("错误后再启动判定.pdbool", "w")
fp.write("False")
fp.close()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cnimgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E6%90%93%E5%A4%B4.gif"alt="emotion_编程猫_搓头"
点赞0
评论