PassKeep рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓реАрдХреЗрд╢рди

рд╣реИрд▓реЛ, рд╣реЙрдХрд░реНрд╕!

рдЖрдк рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ? рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рдерд╛! рдЦреИрд░, рдЬреЛ рд╣реИ, рд▓рдЧрднрдЧ рдРрд╕рд╛ рд╣реА рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рдереЗ - рдПрдХ рдкрд╣рдЪрд╛рди рдХреЛрдб рдФрд░ рдПрдХ рдЪрддреБрд░ рдмреБрджреНрдзрд┐рдорд╛рди рд╡рд┐рдкрд░реНрдпрдп рдЬреЛ рдореЗрд░реЗ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рд╕реЗ рдмрдирд╛ рдерд╛ред

рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ, рддреЛ рдореИрдВ рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рджрд┐рди рдерд╛ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛

рддреЛ, рд╣рдо рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ:
  1. рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрд╡рдпрдВ рдЙрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ url рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕ рдкрд░ рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ;
  2. рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд░реЛрдзреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рддреН рдЕрдХреНрд╖рд░реЛрдВ рдФрд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рдорд╛рд╣рд┐рдд рдХрд░рдирд╛;
  3. рдкрд╛рд╕рд╡рд░реНрдб рдХрд╣реАрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдордХреНрдЦреА рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ;
  4. рдкрд╛рд╕рд╡рд░реНрдб рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдореИрдВ рдЗрд╕рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ:
  1. рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, 45678 рдХрд╣рддреЗ рд╣реИрдВ);
  2. рдПрдХ рдпреВрдЖрд░рдПрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП www.twitter.com ;
  3. рд╣рдореЗрдВ 10 рдЕрдВрдХреЛрдВ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред


рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдпреВрдЖрд░рдПрд▓ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрдирдХреЗ md5 sums рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдорд╡рд░реНрддреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ 64 рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХрд╛ md5 рдпреЛрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ 10 рдЕрдХреНрд╖рд░ рд▓реЗрддреЗ рд╣реИрдВ - рдпрд╣ рд╣рдорд╛рд░рд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╣реЛрдЧрд╛ред рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рдпрдерди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдПрдХ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:

import hashlib, sys, re class PassKeep: #,  , ! __password = "" __length = 10 #    10 . url = "" def getMd5(self, string): #   md5  . string = str(string) md5 = hashlib.md5() md5.update(string) return md5.hexdigest() def __init__(self): #,   .   .      . self.__password = self.getMd5(self.__password) self.time = self.getMd5(time.time()) def setUrl(self, url): # url. self.url = self.getMd5(url) return self.url def setPasswd(self, passwd): # . self.__password = self.getMd5(passwd) return self.__password def decrypt(self): # ,   . password = self.__password #   url, url = self.url #    . result = self.getMd5(password + url) #  md5    . passwd_candidate = result[:self.__length] #     10 . #    !   , # ,    ,   n(10)    . #     -   ,     -   ! if (len(re.findall(r'([0-9]+)', passwd_candidate)[0]) + 3 < len(passwd_candidate)): #    return passwd_candidate else: #  ,   . result = "" count = 0 sum = 1 for symbol in passwd_candidate: #     . if (sum < 4): #       ,    . try: #     int,   str (). int_symbol = int(symbol) if (count%2 != 0): #      . print int_symbol result += chr(122 - int_symbol) #   ,          ,     ! sum += 1 count += 1 else: # ,    . result += symbol count += 1 except: #  str       . result += symbol count += 1 else: result += symbol count += 1 return result p = PassKeep() # . passwd = raw_input("Enter passwd \n") #       ! p.setPasswd(passwd) url = raw_input("Enter url, like www.example.com \n") p.setUrl(url) print p.decrypt() #      sys.exit(0) # . 


рд▓рд╛рдВрдЪ

рдЗрд╕реЗ рдЪрд▓рд╛рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ - рдкрд╛рд╕ рдХреА рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрд╛рд╕рдХреАрдлреНрд░реАрдбреАрдо рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ:
python passkeep.py


рдирд┐рд╖реНрдХрд░реНрд╖

рдореИрдВ рд▓рдЧрднрдЧ 12 рдШрдВрдЯреЗ рд╕реЗ рдЗрд╕ рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВрдиреЗ 5 рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдХрд┐рдпрд╛ рдФрд░ 2 рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓ рджрд┐рдпрд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдкрд╛рд╕рд╡рд░реНрдб 64-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реБрдП рдереЗ, рдЕрдм рдореИрдВрдиреЗ рдЗрд╕реЗ 86-рдмрд┐рдЯ рдкрд░ рдЖрдЬрд╝рдорд╛рдпрд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдареАрдХ рд╣реИ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╣реИ, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВред

рдЕрд░реЗ рд╣рд╛рдБред рдореИрдВрдиреЗ рдпрд╣ рдмрд╛рдд рдЧрд┐рдердм рдХреЛ рднреА рдЕрдкрд▓реЛрдб рдХреА : рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдореИрдВ рдЗрд╕ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдЧрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЖрдИрдУрдПрд╕ / рдПрдВрдбреНрд░реЙрдЗрдб / рдХреНрд░реЛрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдкреЛрд░реНрдЯ рдХрд░реЗрдВред

рдореБрдЭреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд░рдЪрдирд╛рддреНрдордХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпреБрдкреАрдбреА:
рдЙрдирдХреЗ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд▓рд┐рдП Dark_MX habrayuzer рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдХреНрд░реЛрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрдордВрд╕рд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/In128707/


All Articles