1.jieba库下载链接:若网络好,直接在cmd中输入 pip install jieba 即可安装
(不推荐,速度太慢)官网:https://pypi.org/project/jieba/
(推荐使用)我下载好的安装包-蓝奏云:https://wwc.lanzouh.com/iXXJq03vul3e
官网
蓝奏云
2.解压到目录
解压到目录中,我选择解压到 pycharm 中,方便以后寻找。路径可以自选
3.win+R打开运行,输入cmd,进入命令界面
4.使用cd命令安装jieba库
我解压压缩包的目录是 E:\PyCharm\PyCharm 2021.3.3\script\jieba-0.42.1
二、思考破解 1.大体定位前后位置若使用pycharm,在控制台输入 pip install jieba 即可
# 测试用,用来确定语句是正加密还是负加密,证明为正加密且加密数为4092
Chinese=['我','你','他','她','江水','大河','老师','教师','连绵不绝','敬仰','佩服','长江','黄河','故乡','月亮','同学','可爱']
re = "爍" #选的是第一个字
s=0
while (True):
s+=1
checkText = ord(re) - 1
re = chr(checkText)
for i in Chinese:
if re == i:
print(re,s)
exit(0)
2.测试未知词组
import jieba
def Crack(text):
Chinese = ['我', '你', '他', '她', '江水', '大河', '老师', '教师', '连绵不绝', '敬仰', '佩服', '长江', '黄河', '故乡', '月亮', '同学', '可爱']
re = text # 将text放入re中,开始循环寻找合适的字词。
result = "" # 解密后的语句
for i in re: # 将输入的re逐字解密并放入result中
result = result + chr(ord(i) - 4092)
seg_list = jieba.cut(result, cut_all=False) # jieba库中的默认精确模式
final = " ".join(seg_list)
final = final.split(" ")
# print(final)
count=0
for i in Chinese:
for j in final:
if i==j:
count+=1
# print(j)
# print(count)
if count/len(final)>=0.4:
return final
t = "爍毵追渄蚀彥眉楾搈绐绐籛簰临軱帉軙"
org = Crack(t)
print(org)
s = 0
红字不是错误,是在对比词语库
3.使用循环按部就班进行暴力破解
import jieba
def Crack(text):
Chinese=['我','你','他','她','江水','大河','老师','教师','连绵不绝','敬仰','佩服','长江','黄河','故乡','月亮','同学','可爱']
re = text # 将text放入re中,开始循环寻找合适的字词。
while(True):
result = "" # 解密后的语句
for i in re: # 将输入的re逐字解密并放入result中
result=result+chr(ord(i)-1)
seg_list = jieba.cut(result, cut_all=False) # jieba库中的精确模式
final = " ".join(seg_list) # jieba库转换的是object类型,需要转为str
final = final.split(" ") # 为方便统计转为数组
count = 0 # 统计相同字符数
# 与字典循环对比
for i in Chinese:
for j in final:
if i == j:
count += 1
# 如果不加len(final)>5条件,会导致len(final)为0,而0不能做分母,会报错。
if count / len(final) >= 0.4 and len(final)>5:
final = "".join(final) # 增加可读性
return final
else:
re=result
t = "爍毵追渄蚀彥眉楾搈绐绐籛簰临軱帉軙"
org = Crack(t)
print(org)
s = 0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)