2016-03-22 15 views
-2

içinde sıkışmış bir metin belgesi 10 parola alır ve belirli bir kritere göre her paroladaki gücü denetler bir program yapıyorum (parola, ne kadar süre, kullanımı büyük ve küçük harf, rakam ve diğer karakter)Ben bir parola gücü test cihazı yapıyorum ve şu anda python

benim sorunum ben Yardımlarınız için şimdiden teşekkür .. her parolayı ayırmak ve her kriterler atanır noktaları ekleyin olamaz

bunlar ECOO() 123abc9876, 123412345, ecoo2012, Bailey1234, Programmer, ContestT1mE, 23 $ 5^7 *(), (99876Ghg), StarWars, Samsung

kullanıyorum şifreler
from string import ascii_lowercase 
from collections import Counter 

with open("passwords.txt") as f: 
    print(Counter(letter for line in f 
        for letter in line.lower() 
        if letter in ascii_lowercase)) 
+0

bize göster ve söz eklemek .txt' lütfen. –

+1

Görünüşe göre, hem Python'un temellerini hem de eldeki görevi kaçırıyorsunuz. Bu bir StackOverflow sorusunun kapsamının ötesindedir; Bu problemi çözmeyi ve bunun gibi sorunların nasıl ele alınacağını anlamanız gerekiyorsa, genelde programlamayı öğrenmeye başlamalısınız. – kungphu

cevap

1

Belirli bir şifresinin gücünü hesaplamak için bize kriterlerini söylemedim, ama bu temel mantık seni idare etmelidir: `şifrelerin içeriği

import string 

def score(pw): 
    length = len(pw) 

    uppers = set(ascii_uppercase) 
    upper = len([i for i in pw if i in uppers]) 

    lowers = set(ascii_lowercase) 
    lower = len([i for i in pw if i in lowers]) 

    # and any other criteria 

    return length + upper + lower # and anything else 


def main(infilepath): 
    with open(infilepath) as infile: 
     for line in infile: 
      pw = line.strip() 
      print("The strength of", pw, "is", score(pw)) 
+0

bu i ECOO'ya() 123abc9876, 123412345, ecoo2012, Bailey1234, Programcı, ContestT1mE, kullanıyorum şifreleri vardır! 23 5 $^7 *(), (99876Ghg), StarWars, Samsung –

İlgili konular