Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function clear()
- term.clear()
- term.setCursorPos(1,1)
- end
- function center(text,y,mode)
- w,h = term.getSize()
- term.setCursorPos((w/2)-(#text/2),y)
- if mode == nil then mode = "print" end
- if mode == "write" then
- write(text)
- else
- print(text)
- end
- end
- clear()
- write "Length: "
- local length = read()
- if tonumber(length) == false then
- print("Use a number please")
- sleep(2)
- error()
- else
- length = tonumber(length)
- end
- if length > 51 then
- print("Please enter a length 50 characters or below")
- sleep(2)
- error()
- end
- lower = {'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'}
- upper = {'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'}
- special = {'!','@','#','$','%','^','&','*'}
- numbers = {'0','1','2','3','4','5','6','7','8','9'}
- mode = {"usnl","usln","ulsn","unsl","unls","ulns","nusl", "nsul", "sunl", "snul","lsnu","lsun","luns","lusn","lnsu","lnus" ,"nu", "un", "sn", "ns", "us", "su", "u", "s", "n"}
- clear()
- center("Modes: Upper[u], special[s], number[n], lower[l]",2)
- print()
- print()
- write "write all modes you want (no commas): "
- local l = false
- local u = false
- local s = false
- local n = false
- mds = ""
- while true do
- event, key = os.pullEvent("key")
- if key == 22 then
- if u == false then
- u = true
- term.setCursorPos(1,7)
- print"Upper"
- mds = mds.."u"
- else
- u = false
- term.setCursorPos(1,7)
- term.clearLine()
- mds = mds:gsub( "u", "" )
- end
- elseif key == 31 then
- if s == false then
- s = true
- term.setCursorPos(1,8)
- print"Special"
- mds = mds.."s"
- else
- s = false
- term.setCursorPos(1,8)
- term.clearLine()
- mds = mds:gsub("s","")
- end
- elseif key == 49 then
- if n == false then
- n = true
- term.setCursorPos(1,9)
- print"Number"
- mds = mds.."n"
- else
- n = false
- term.setCursorPos(1,9)
- term.clearLine()
- mds = mds:gsub("n", "")
- end
- elseif key == 38 then
- if l == false then
- l = true
- term.setCursorPos(1,10)
- print"Lower"
- mds = mds.."l"
- else
- l = false
- term.setCursorPos(1,10)
- term.clearLine()
- mds = mds:gsub("l", "")
- end
- elseif key == 28 and (l or n or s or u) then
- break
- end
- end
- mds = string.lower(mds)
- local test = false
- for i=1, #mode do
- if mds == mode[i] then
- test = true
- break
- end
- end
- if test == false then
- print("Invalid mode: "..mds)
- end
- modes = {}
- message = ""
- if l == true and n == true and s == true and u == true then
- for i=1, length do
- num = math.random(4)
- if num == 1 then
- message = message..lower[math.random(#lower)]
- elseif num == 2 then
- message = message..upper[math.random(#upper)]
- elseif num == 3 then
- message = message..special[math.random(#special)]
- elseif num == 4 then
- message = message..numbers[math.random(#numbers)]
- end
- end
- elseif n == true and s == true and u == true then
- for i=1, length do
- num = math.random(3)
- if num == 1 then
- message = message..upper[math.random(#upper)]
- elseif num == 2 then
- message = message..special[math.random(#special)]
- elseif num == 3 then
- message = message..numbers[math.random(#numbers)]
- end
- end
- elseif n == true and s == true and l == true then
- for i=1, length do
- num = math.random(3)
- if num == 1 then
- message = message..special[math.random(#special)]
- elseif num == 2 then
- message = message..numbers[math.random(#numbers)]
- elseif num == 3 then
- message = message..lower[math.random(#lower)]
- end
- end
- else if n == true and s == true then
- for i=1, length do
- num = math.random(2)
- if num == 1 then
- message = message..numbers[math.random(#numbers)]
- elseif num == 2 then
- message = message..special[math.random(#special)]
- end
- end
- elseif l == true and u == true and s == true then
- for i=1, length do
- num = math.random(3)
- if num == 1 then
- message = message..upper[math.random(#upper)]
- elseif num == 2 then
- message = message..lower[math.random(#lower)]
- elseif num == 3 then
- message = message..special[math.random(#special)]
- end
- end
- elseif s == true and u == true then
- for i=1, length do
- num = math.random(2)
- if num == 1 then
- message = message..special[math.random(#special)]
- else
- message = message..upper[math.random(#upper)]
- end
- end
- elseif l == true and n == true and u == true then
- for i=1, length do
- num = math.random(3)
- if num == 1 then
- message = message..upper[math.random(#upper)]
- elseif num == 2 then
- message = message..numbers[math.random(#numbers)]
- elseif num == 3 then
- message = message..lower[math.random(#lower)]
- end
- end
- elseif u == true and n == true then
- for i=1, length do
- num = math.random()
- if num == 1 then
- message = message..upper[math.random(#upper)]
- else
- message = message..numbers[math.random(#numbers)]
- end
- end
- elseif l == true and n == true then
- for i=1, length do
- num = math.random(2)
- if num == 1 then
- message = message..numbers[math.random(#numbers)]
- elseif num == 2 then
- message = message..lower[math.random(#lower)]
- end
- end
- elseif l == true and s == true then
- for i=1, length do
- num = math.random(2)
- if num == 1 then
- message = message..special[math.random(#special)]
- elseif num == 2 then
- message = message..lower[math.random(#lower)]
- end
- end
- elseif l == true and u == true then
- for i=1, length do
- num = math.random(2)
- if num == 1 then
- message = message..upper[math.random(#upper)]
- elseif num == 2 then
- message = message..lower[math.random(#lower)]
- end
- end
- elseif l == true then
- for i=1, length do
- message = message..lower[math.random(#lower)]
- end
- elseif n == true then
- for i=1, length do
- message = message..numbers[math.random(#numbers)]
- end
- elseif s == true then
- for i=1, length do
- message = message..special[math.random(#special)]
- end
- elseif u == true then
- for i=1, length do
- message = message..upper[math.random(#upper)]
- end
- end
- end
- clear()
- center("Your Password is: ", 4)
- center(message,6)
- center("Your password has been stored in the file: Pass", h-3)
- file = io.open("pass","w")
- file:write(message)
- file:close()
Advertisement
Add Comment
Please, Sign In to add comment