Skip to content

Instantly share code, notes, and snippets.

@levisre
Created November 12, 2015 08:51
Show Gist options
  • Save levisre/b73ef02050ec4e5c5807 to your computer and use it in GitHub Desktop.
Save levisre/b73ef02050ec4e5c5807 to your computer and use it in GitHub Desktop.
PySide GCafe Password Generator
from PySide import QtCore, QtGui
from Crypto.Hash import MD5,SHA,SHA512
import sys
class genHash():
def MD5Hash(self, input):
return MD5.new(input).hexdigest()
def SHA1Hash(self, input):
return SHA.new(input).hexdigest()
def SHA512Hash(self, input):
return SHA512.new(input).hexdigest()
def makePasswordHash(self, username, password):
salt1 = "%Y@rCsgti8Y5Vq477^5rO*SZ4pmf^43i"
salt2 = "8MuKm^36B2QQmF*g%gtyD1PWr%OPsL4O"
Phase_1 = self.MD5Hash(username.upper())
Phase_2 = self.MD5Hash(Phase_1+salt1)
Phase_3 = self.SHA1Hash(password)
Phase_4 = self.SHA1Hash(Phase_3+salt2)
Phase_5 = self.SHA512Hash(Phase_4+Phase_2+salt1+salt2)
return Phase_5
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(446, 253)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.genBtn = QtGui.QPushButton(self.centralwidget)
self.genBtn.setEnabled(True)
self.genBtn.setGeometry(QtCore.QRect(0, 200, 451, 51))
self.genBtn.setObjectName("genBtn")
self.usrTxt = QtGui.QLineEdit(self.centralwidget)
self.usrTxt.setGeometry(QtCore.QRect(0, 20, 441, 22))
self.usrTxt.setObjectName("usrTxt")
self.pwTxt = QtGui.QLineEdit(self.centralwidget)
self.pwTxt.setGeometry(QtCore.QRect(0, 70, 441, 22))
self.pwTxt.setObjectName("pwTxt")
self.label = QtGui.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(0, 0, 81, 16))
self.label.setObjectName("label")
self.pwHashTxt = QtGui.QPlainTextEdit(self.centralwidget)
self.pwHashTxt.setGeometry(QtCore.QRect(0, 120, 441, 81))
self.pwHashTxt.setObjectName("pwHashTxt")
self.label_2 = QtGui.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(0, 50, 81, 16))
self.label_2.setObjectName("label_2")
self.label_3 = QtGui.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(0, 100, 101, 16))
self.label_3.setObjectName("label_3")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "GCafe Password Hash Generator", None, QtGui.QApplication.UnicodeUTF8))
self.genBtn.setText(QtGui.QApplication.translate("MainWindow", "Generate Password Hash", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "Username:", None, QtGui.QApplication.UnicodeUTF8))
self.label_2.setText(QtGui.QApplication.translate("MainWindow", "Password:", None, QtGui.QApplication.UnicodeUTF8))
self.label_3.setText(QtGui.QApplication.translate("MainWindow", "Password Hash", None, QtGui.QApplication.UnicodeUTF8))
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
self.assignWidgets()
self.show()
def assignWidgets(self):
self.connect(self.genBtn, QtCore.SIGNAL("clicked()"),self.genBtn_Click)
def genBtn_Click(self):
username = str(self.usrTxt.text())
password = str(self.pwTxt.text())
self.pwHashTxt.clear()
self.pwHashTxt.appendPlainText(genHash().makePasswordHash(username, password))
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
mainWin = MainWindow()
sys.exit(app.exec_())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment