Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("hash")
- local passwordTable = {}
- if (fs.exists("loginPasswords.secure.txt")) then
- local passwordFile = fs.open("loginPasswords.secure.txt", "r")
- passwordTable = textutils.unserialize(passwordFile.readAll()) or {}
- passwordFile.close()
- end
- while true do
- term.clear()
- term.setCursorPos(1, 1)
- print("Username to create or edit:")
- local userName = ""
- while true do
- event, return1 = os.pullEvent()
- if (event == "char") then
- userName = userName .. return1
- write(return1)
- elseif (event == "key") then
- if (return1 == 28) then
- write("\n")
- break
- elseif (return1 == 14) then
- termX, termY = term.getCursorPos()
- if (termX > 0) then
- term.setCursorPos(termX - 1, termY)
- else
- term.setCursorPos(termX, termY)
- end
- write(" ")
- if (termX > 0) then
- term.setCursorPos(termX - 1, termY)
- else
- term.setCursorPos(termX, termY)
- end
- userName = string.sub(userName, 1, string.len(userName) - 1)
- end
- end
- end
- print("New password:")
- local newPassword1 = ""
- while true do
- event, return1 = os.pullEvent()
- if (event == "char") then
- write("*")
- newPassword1 = newPassword1 .. return1
- elseif (event == "key") then
- if (return1 == 28) then
- write("\n")
- break
- elseif (return1 == 14) then
- termX, termY = term.getCursorPos()
- if (termX > 0) then
- term.setCursorPos(termX - 1, termY)
- else
- term.setCursorPos(termX, termY)
- end
- write(" ")
- if (termX > 0) then
- term.setCursorPos(termX - 1, termY)
- else
- term.setCursorPos(termX, termY)
- end
- newPassword1 = string.sub(newPassword1, 1, string.len(newPassword1) - 1)
- end
- end
- end
- print("Confirm:")
- local newPassword2 = ""
- while true do
- event, return1 = os.pullEvent()
- if (event == "char") then
- write("*")
- newPassword2 = newPassword2 .. return1
- elseif (event == "key") then
- if (return1 == 28) then
- write("\n")
- break
- elseif (return1 == 14) then
- termX, termY = term.getCursorPos()
- if (termX > 0) then
- term.setCursorPos(termX - 1, termY)
- else
- term.setCursorPos(termX, termY)
- end
- write(" ")
- if (termX > 0) then
- term.setCursorPos(termX - 1, termY)
- else
- term.setCursorPos(termX, termY)
- end
- newPassword2 = string.sub(newPassword2, 1, string.len(newPassword2) - 1)
- end
- end
- end
- if (newPassword1 == newPassword2) then
- -- passwordHash = hash.hash(newPassword1)
- passwordHash = hash.sha256(newPassword1)
- passwordTable[userName] = passwordHash
- else
- shell.run(shell.getRunningProgram())
- return
- end
- print("Do you want to do more?")
- userYesNo = io.read()
- if (userYesNo == "yes" or userYesNo == "Yes") then
- -- do nothing :P
- else
- break
- end
- end
- local passwordFile2 = fs.open("loginPasswords.secure.txt", "w")
- passwordFile2.write(textutils.serialize(passwordTable))
- passwordFile2.close()
- os.unloadAPI("hash")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement