Python密码器

更新时间:2020-04-13 10:23:32 点击次数:1077次
经过一个半小时的努力,做出了这个东西。顺便开个新坑。

这个坑我打算提供一些实例代码。可以供大家学习。大家可随便参考,复制。
实例代码的下一篇就是讲解,不过我有点累,明天再发吧…
from PyQt5.QtWidgets import QWidget, QLabel, QComboBox, QApplication,QLineEdit,QPushButton
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt
import sys,os,shutil,sip

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.settings()

    def settings(self):
        self.combo = QComboBox(self)
        self.combo.addItem("")
        self.combo.addItem("摩尔码加密")
        self.combo.addItem("倒置加密")
        self.combo.move(150,10)
        self.combo.activated[str].connect(self.remember)

        self.say = QLabel(self)
        self.say.setText('               ')
        self.say.setFont(QFont('黑体',20))
        self.say.move(90,100)

        self.choice = QLabel(self)
        self.choice.setText('请选择加密方式:')
        self.choice.setFont(QFont('黑体',12))
        self.choice.move(15, 12.5)

        self.info = QLineEdit(self)
        self.info.setPlaceholderText('请输入加密内容')
        self.info.move(15,50)

        self.yes = QPushButton('确定',self)
        self.yes.move(200,150)
        self.yes.clicked.connect(self.yes_)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('密码器')
        self.show()

    def remember(self, text):
        self.unit = text

    def yes_(self):
        try:
            if self.unit == '摩尔码加密':
                dict1 = {'a': '.-', 'b': '-...', 'c': '-.-.', 'd': '-.', 'e': '.',
                        'f': '..-.', 'g': '--.', 'h': '....', 'i': '..', 'j': '.---',
                        'k': '-.-', 'l': '.-..', 'm': '--', 'n': '-.', 'o': '---',
                        'p': '.--.', 'q': '--.-', 'r': '.-.', 's': '...', 't': '-',
                        'u': '..-', 'v': '...-', 'w': '.--', 'x': '-..-', 'y': '-.--', 'z': '--..',
                        '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-',
                        '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.'}

                ls = list(self.info.text())

                keyword_ls = []
                for i in range(len(ls)):
                    keyword_ls.append(dict1[ls[i]])

                keyword = ' '.join(keyword_ls)

                if '生成密码目录' not in os.listdir('./'):
                    os.mkdir('生成密码目录')
                else:
                    shutil.rmtree('./生成密码目录')
                    os.mkdir('./生成密码目录')

                where = open('./摩尔码加密内容.txt', 'w')
                where.write(keyword)
                self.say.setText('录入成功')
                where.close()


            if self.unit == '倒置加密':
                ls = list(self.info.text())
                ls.reverse()

                if '生成密码目录' not in os.listdir('./'):
                    os.mkdir('生成密码目录')
                else:
                    shutil.rmtree('./生成密码目录')
                    os.mkdir('./生成密码目录')

                where = open('./生成密码目录/倒置加密内容.txt', 'w')
                where.writelines(ls)
                self.say.setText('录入成功')
                where.close()

        except:
            self.say.setText('录入失败')
            
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!