Ejemplo n.º 1
0
    def check_specal_symbol_exit(self):
        has_special_symbol_exit = False
        # special_char_list = ['*', '#', '+', '!', '@', '$', '^', '%']
        special_char_list = Utils.get_chars(6)
        # print(len(special_char_list), special_char_list)
        for i in range(len(special_char_list)):
            # if self.password.find(special_char_list[i]):
            if special_char_list[i] in self.password:
                has_special_symbol_exit = True
                break

        return has_special_symbol_exit
Ejemplo n.º 2
0
    def slot_box_checked(self):
        # print(self.cipher_type)
        # 统一扫描所有选项,直接算出密码字符集
        self.char_set.clear()

        if self.cipher_type == '随机密码':  # 随机码
            if self.shell.checkBox_1.isChecked():  # 大写字母
                self.char_set.update(string.ascii_uppercase)
                # print(self.char_set | string.ascii_uppercase)  # 并集?
            if self.shell.checkBox_2.isChecked():  # 小写字母
                self.char_set.update(string.ascii_lowercase)
            if self.shell.checkBox_3.isChecked():  # 阿拉伯数字
                self.char_set.update(string.digits)
            if self.shell.checkBox_4.isChecked():  # 可见字符
                self.char_set.update(Utils.get_chars(6))
            if self.shell.checkBox_5.isChecked():  # 小写汉字数字
                print('小写汉字数字')
            if self.shell.checkBox_6.isChecked():  # 大写汉字数字
                print('大写汉字数字')
            if self.shell.checkBox_7.isChecked():  # 排除字符
                self.char_mask.clear()
                # print(self.shell.lineEdit_2.text())
                self.char_mask.update(self.shell.lineEdit_2.text())
                # print(self.char_mask)
                # self.char_set -= self.char_mask  # 差集?
                # # 更新集合s1的内容为s1-s2后的结果
                self.char_set.difference_update(self.char_mask)
                # s1.difference(s2) # 该操作对s1内容无影响
                # 判断集合是否与指定集合不存在交集
                # if self.char_set.isdisjoint(self.char_mask):
                #     print('已排除')
            if self.shell.checkBox_8.isChecked():  # 特殊字符
                self.char_set.update(self.shell.lineEdit.text())  # 更新
            #     # if text.issubset(self.char_set):  # 判断集合是否指定集合的子集
            #     #     print('已添加')
            #     # else:
            #     #     self.char_set.difference_update(text)
            #     #     print('已排除')

        elif self.cipher_type == '易记密码':  # 易记密码
            if self.shell.checkBox_9.isChecked():
                pass
                # self.char_set.update(string.ascii_uppercase)
            if self.shell.checkBox_10.isChecked():
                pass
                # self.char_set.update(string.ascii_uppercase)

        else:  # PIN码,则一切选择无效,界面保持现状
            if self.shell.checkBox_11.isChecked():
                self.code_type = 4  # '4位PIN'
            elif self.shell.checkBox_12.isChecked():
                self.code_type = 6  # '6位PIN'