字符长串破解密码

a)每个密码为单个小写字母

b)每个密码左右两边均有且只有三个大写字母

#方法一:

 1 str1=‘‘‘ ‘‘‘
 2 lenth = len(str1)
 3 for each in range(lenth):
 4   if (str1[each].islower() and str1[each-1].isupper() and
 5                 str1[each-2].isupper() and
 6                 str1[each-3].isupper() and
 7                 str1[each-4].islower() and
 8                 str1[each+1].isupper() and
 9                 str1[each+2].isupper() and
10                 str1[each+3].isupper() and
11                 str1[each+4].islower()) :
12                   print(str1[each],end=‘‘)

#方法二:

 1 str1 = ‘‘‘ ‘‘‘
 2
 3 countA = 0  # 统计前边的大写字母
 4 countB = 0  # 统计小写字母
 5 countC = 0  # 统计后边的大写字母
 6 length = len(str1)
 7
 8 for i in range(length):
 9     if str1[i] == ‘\n‘:
10         continue
11
12     """
13     |如果str1[i]是大写字母:
14     |-- 如果已经出现小写字母:
15     |-- -- 统计后边的大写字母
16     |-- 如果未出现小写字母:
17     |-- -- 清空后边大写字母的统计
18     |-- -- 统计前边的大写字母
19     """
20     if str1[i].isupper():
21         if countB:
22             countC += 1
23         else:
24             countC = 0
25             countA += 1
26
27     """
28     |如果str1[i]是小写字母:
29     |-- 如果小写字母前边不是三个大写字母(不符合条件):
30     |-- -- 清空所有记录,重新统计
31     |-- 如果小写字母前边是三个大写字母(符合条件):
32     |-- -- 如果已经存在小写字母:
33     |-- -- -- 清空所有记录,重新统计(出现两个小写字母)
34     |-- -- 如果该小写字母是唯一的:
35     |-- -- -- countB记录出现小写字母,准备开始统计countC
36     """
37     if str1[i].islower():
38         if countA != 3:
39             countA = 0
40             countB = 0
41             countC = 0
42         else:
43             if countB:
44                 countA = 0
45                 countB = 0
46                 countC = 0
47             else:
48                 countB = 1
49                 countC = 0
50                 target = i
51
52     """
53     |如果前边和后边都是三个大写字母:
54     |-- 如果后边第四个字母也是大写字母(不符合条件):
55     |-- -- 清空记录B和C,重新统计
56     |-- 如果后边仅有三个大写字母(符合所有条件):
57     |-- -- 打印结果,并清空所有记录,进入下一轮统计
58     """
59     if countA == 3 and countC == 3:
60         if i+1 != length and str1[i+1].isupper():
61             countB = 0
62             countC = 0
63         else:
64             print(str1[target], end=‘‘)
65             countA = 3
66             countB = 0
67             countC = 0
时间: 2024-11-10 00:52:39

字符长串破解密码的相关文章

css一长串连续英文字符的换行

在标签内,中文的换行是没有什么问题的,但英文的换行就有问题.当出现一长串连续的英文字符时,换行就失效了,内容会溢出.解决这个问题只需要一行css就够了: p{ word-wrap: break-word; } 那么问题来了,英文的换行是实现了,但是你会发现,一连串英文全部另起一行了,这就和预计的效果不一致. 原因是连续的一连串英文字符,浏览器会把它识别为一个单词,那么换行当然是一个单词一起换了,解决这个问题只要在原本的基础上再加一句: p{ word-wrap: break-word; word

【华为OJ】【027-字符串运用-密码截取】

[华为OJ][算法总篇章] [华为OJ][027-字符串运用-密码截取] [工程下载] 题目描述 Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信, 比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解. 比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 .因为截获的串太长了, 而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),C

【华为OJ】【057-字符串运用-密码截取】

[华为OJ][算法总篇章] [华为OJ][057-字符串运用-密码截取] [工程下载] ----这里写代码片 题目描述 Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321, 但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解.比如进行下列变化 ABBA->12ABBA,ABA->ABAKK, 123321->51233214 .因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baa

Linux_破解密码-营救模式

实验用机:CentOS 5.7 破解密码 设置开机启动界面 系统运行级别 营救模式 一.破解密码 root用户可以更改任何用户的密码,普通用户只能修改自己的密码. 步骤: 1.重新启动系统 2.开机倒数时间内,敲任意键 3.按字母e去编辑 4.选择kernel 开头的行,再次按字母e 编辑 然后敲空格 输入数字1,再敲回车 进入单用户模式,破解密码.(此模式绕过密码验证) 5.按字母键b 去引导进入系统 6.直接passwd 修改root用户的密码 7.输入init 5或者init 3 进入系统

当今破解密码涉及的思路方法总结

破解网络密码-暴力穷举 密码破解技术中最基本的就是暴力破解,也叫密码穷举.如果黑客事先知道了账户号码,如邮件帐号.QQ用户帐号.网上银行账号等,而用户的密码又设置的十分简单,比如用简单的数字组合,黑客使用暴力破解工具很快就可以破解出密码来.因此用户要尽量将密码设置的复杂一些. 破解网络密码-击键记录 如果用户密码较为复杂,那么就难以使用暴力穷举的方式破解,这时黑客往往通过给用户安装木马病毒,设计"击键记录"程序,记录和监听用户的击键操作,然后通过各种方式将记录下来的用户击键内容传送给黑

CentOS 6.8 GRUB加密-修复和破解密码实战指南

    CentOS 6.8 GRUB加密和破解密码实战指南 案例1:服务器在公共场合,为了防止随便有人进入单用户破解root密码,先对GRUB引导进行加密,为了更加安全对启动内核时也加密 1.编辑grub配置文件 [[email protected] ~]# openssl passwd -1    //MD5加密转换 Password:  Verifying - Password:  $1$X8cVMw5v$AH0aUHVNix7Tx6wmHAXsf1 [[email protected] 

6、xen虚拟机破解密码

破解xen密码,初学xen当时觉得不好实现,总认为xen字符界面,不像图形界面一样出现grub菜单.   xen虚拟化平台xm一个命令参数-c可以解决这个问题,可以出现字符界面grub菜单, 本文只介绍一种简单的方式来实现,就是通过这种方式来实现开机单用户模式启动,修改密码. 1. 如果某一天忘记root密码 2. 关闭虚拟机 xm shutdown dd 3. 通过-c参数启动虚拟机 # xm create –c dd #通过-c参数启动虚拟机,会出现字符界面grub菜单. (1) 出现上图界

【安全牛学习笔记】COWPATTY 破解密码

HTTP://ETUORLASLS.ORG/NETWORKING/802.11+SECURITY.+WI-FI+PROTECTED+ACCESS+AND+802.11I/ TR破解密码 测试效果 john --wordlist=password.lst --rules --stdout | grep -i Password123 破解调用 john --wordlist=pass.list --rules --stdout | aircrack-ng -e kifi -w wpa.cap 北京联

单用户模式破解密码 加密 和 挂在系统

引导系统 3个重要的系统 1)选择操作系统 /etc/grub.conf 2)添加密码 timeout=5 password --md5 (可以用grub-md5-crypt 进行md5加密) 选择操作系统下面也可以加入密码 password --md5 (可以用grub-md5-crypt 进行md5加密) 2)/etc/inittab 修改默认进入到字符界面 id:5 (5是图形界面 3是字符界面 0关机 1单用户模式2多用户没网络4未定义模式6重启模式 ) 3)挂载文件系统 /etc/fs