Python Network Security Programming-1
UNIX口令破解
1.程序运行需求:

其中dictionary.txt文件为破解口令的字典文件,passwords.txt文件为临时存放UNIX系统密码的文件
2.程序源码:
import crypt # 以hash方式加密的unix口令,的一般形式为:HXajgneuer/jids 其中前两位“HX”一般称为salt ,剩下的字符不影响哈希结果 # salt是此哈希的盐值,长度是8位,超过8的后面的位数将不影响哈希的结果。 # 在正常情况下,进行加密的时候,这个盐值是随机字符串。 def testPass(cryptPass): # 根据字典通过crypt函数判断密码 salt = cryptPass[0:2] # 读哈希值得前两位 dictFile = open('dictionary.txt','r') for word in dictFile.readlines(): word = word.strip('\n') # 清除头尾空格,回车符等 # print(word,salt) cryptWord = crypt.crypt(word,salt) #使用字典数据利用crypt函数构造密码 # print(cryptWord,cryptPass) if cryptWord==cryptPass: print("[+] Found Fassword: " + word + "\n") else: print("[-] PassWord Not Find !\n") def main(): passFile = open('passwords.txt') for line in passFile.readlines(): if ":" in line: user = line.split(':')[0] #将password中的数据以 “:” 分为user和password两部分,此为user部分 cryptPass = line.split(':')[1].strip('\n') #此为password部分 print("[*] Cracking Password For: "+user) testPass(cryptPass) #调用检测比对函数 if __name__ == '__main__': main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?