| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
b573
10年前发布

可以指定要生成的密码长度的Python代码

可以指定要生成的密码长度的Python代码

from os import urandom  from random import choice     char_set = {'small': 'abcdefghijklmnopqrstuvwxyz',               'nums': '0123456789',               'big': 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',               'special': '^!\$%&/()=?{[]}+~#-_.:,;<>|\\'              }        def generate_pass(length=21):      """Function to generate a password"""         password = []         while len(password) < length:          key = choice(char_set.keys())          a_char = urandom(1)          if a_char in char_set[key]:              if check_prev_char(password, char_set[key]):                  continue              else:                  password.append(a_char)      return ''.join(password)        def check_prev_char(password, current_char_set):      """Function to ensure that there are no consecutive      UPPERCASE/lowercase/numbers/special-characters."""         index = len(password)      if index == 0:          return False      else:          prev_char = password[index - 1]          if prev_char in current_char_set:              return True          else:              return False     if __name__ == '__main__':      print generate_pass()