Advertisement
DarkZek

Untitled

Jun 30th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.88 KB | None | 0 0
  1. function clearScreen()
  2. term.clear()
  3. term.setCursorPos(1,1)
  4. end
  5.  
  6. function loggedOn(username, password, balance)
  7. clearScreen()
  8. print("The Bank Of Sanctuary")
  9. print("---------------------------------------------------")
  10. print("Acount: "..username.." Balance: "..balance)
  11. print("---------------------------------------------------")
  12. print("1 - Pay another user")
  13. print("2 - Deposit")
  14. print("3 - Withdraw")
  15. print("")
  16. write("Action> ")
  17. action = read()
  18. if action == "1" then
  19. payScreen(username, password, balance)
  20. end
  21. end
  22.  
  23. function payScreen(username, password, balance)
  24. clearScreen()
  25. print("The Bank Of Sanctuary")
  26. print("---------------------------------------------------")
  27. print("Acount: "..username.." Balance: "..balance)
  28. print("---------------------------------------------------")
  29. write("Username to pay: ")
  30. username = read()
  31. clearScreen()
  32. print("The Bank Of Sanctuary")
  33. print("---------------------------------------------------")
  34. print("Acount: "..username.." Balance: "..balance)
  35. print("---------------------------------------------------")
  36. write("Amount to pay: $")
  37. amount = read()
  38. if amount > balance then
  39. clearScreen()
  40. difference = amount - balance
  41. print("You do not have enough money to pay! You need "..difference
  42. os.sleep(4)
  43. end
  44. --Update users balance
  45. balance = balance - amount
  46.  
  47. loggedOn(username, password, balance)
  48. end
  49.  
  50. while true do
  51. clearScreen()
  52. print("Welcome to The Bank!")
  53. print("Press 1 for a new user")
  54. print("Press 2 for an existing user")
  55. print("")
  56. write("Key> ")
  57.  
  58. key = read()
  59. local modem = peripheral.wrap("back")
  60. if key == "1" then
  61. --user wants to create a new account
  62. clearScreen()
  63. print("Register")
  64. write("Username: ")
  65. username = read()
  66. clearScreen()
  67. print("Register")
  68. write("Password: ")
  69. pssw = read("*")
  70. --Hash password
  71. password = sha256(pssw)
  72. print(pssw)
  73. pssw = ""
  74. print("Waiting for server...")
  75. modem.transmit(1,1,"register`"..username.."`"..password)
  76. modem.open(1)
  77. local _, side, freq, rfreq, message = os.pullEvent("modem_message")
  78. if messsage == "409" then
  79. print("This user is already registered!")
  80. else
  81. print("User "..username.." registered!")
  82. end
  83. os.sleep(4)
  84. else
  85. --user just wants to login
  86. clearScreen()
  87. print("Login")
  88. write("Username: ")
  89. username = read()
  90. clearScreen()
  91. print("Login")
  92. write("Password: ")
  93. password = read("*")
  94. clearScreen()
  95. modem.transmit(1,1,"balance`"..username.."`"..password)
  96.  
  97. modem.open(1)
  98. local _, side, freq, rfreq, message = os.pullEvent("modem_message")
  99. if message == "403" then
  100. print("Incorrect password!")
  101. else if message == "404" then
  102. print("There is no user called "..username.."!")
  103. else
  104. loggedOn(var1,var2,message)
  105. end
  106. end
  107. os.sleep(4)
  108. end
  109. end
  110.  
  111. --Code to SHA-256 it
  112. local g=string.gsub sha256=loadstring(g(g(g(g(g(g(g(g('Sa=XbandSb=XbxWSc=XlshiftSd=unpackSe=2^32SYf(g,h)Si=g/2^hSj=i%1Ui-j+j*eVSYk(l,m)Sn=l/2^mUn-n%1VSo={0x6a09e667Tbb67ae85T3c6ef372Ta54ff53aT510e527fT9b05688cT1f83d9abT5be0cd19}Sp={0x428a2f98T71374491Tb5c0fbcfTe9b5dba5T3956c25bT59f111f1T923f82a4Tab1c5ed5Td807aa98T12835b01T243185beT550c7dc3T72be5d74T80deb1feT9bdc06a7Tc19bf174Te49b69c1Tefbe4786T0fc19dc6T240ca1ccT2de92c6fT4a7484aaT5cb0a9dcT76f988daT983e5152Ta831c66dTb00327c8Tbf597fc7Tc6e00bf3Td5a79147T06ca6351T14292967T27b70a85T2e1b2138T4d2c6dfcT53380d13T650a7354T766a0abbT81c2c92eT92722c85Ta2bfe8a1Ta81a664bTc24b8b70Tc76c51a3Td192e819Td6990624Tf40e3585T106aa070T19a4c116T1e376c08T2748774cT34b0bcb5T391c0cb3T4ed8aa4aT5b9cca4fT682e6ff3T748f82eeT78a5636fT84c87814T8cc70208T90befffaTa4506cebTbef9a3f7Tc67178f2}SYq(r,q)if e-1-r[1]<q then r[2]=r[2]+1;r[1]=q-(e-1-r[1])-1 else r[1]=r[1]+qVUrVSYs(t)Su=#t;t[#t+1]=0x80;while#t%64~=56Zt[#t+1]=0VSv=q({0,0},u*8)fWw=2,1,-1Zt[#t+1]=a(k(a(v[w]TFF000000),24)TFF)t[#t+1]=a(k(a(v[w]TFF0000),16)TFF)t[#t+1]=a(k(a(v[w]TFF00),8)TFF)t[#t+1]=a(v[w]TFF)VUtVSYx(y,w)Uc(y[w]W0,24)+c(y[w+1]W0,16)+c(y[w+2]W0,8)+(y[w+3]W0)VSYz(t,w,A)SB={}fWC=1,16ZB[C]=x(t,w+(C-1)*4)VfWC=17,64ZSD=B[C-15]SE=b(b(f(B[C-15],7),f(B[C-15],18)),k(B[C-15],3))SF=b(b(f(B[C-2],17),f(B[C-2],19)),k(B[C-2],10))B[C]=(B[C-16]+E+B[C-7]+F)%eVSG,h,H,I,J,j,K,L=d(A)fWC=1,64ZSM=b(b(f(J,6),f(J,11)),f(J,25))SN=b(a(J,j),a(Xbnot(J),K))SO=(L+M+N+p[C]+B[C])%eSP=b(b(f(G,2),f(G,13)),f(G,22))SQ=b(b(a(G,h),a(G,H)),a(h,H))SR=(P+Q)%e;L,K,j,J,I,H,h,G=K,j,J,(I+O)%e,H,h,G,(O+R)%eVA[1]=(A[1]+G)%e;A[2]=(A[2]+h)%e;A[3]=(A[3]+H)%e;A[4]=(A[4]+I)%e;A[5]=(A[5]+J)%e;A[6]=(A[6]+j)%e;A[7]=(A[7]+K)%e;A[8]=(A[8]+L)%eUAVUY(t)t=t W""t=type(t)=="string"and{t:byte(1,-1)}Wt;t=s(t)SA={d(o)}fWw=1,#t,64ZA=z(t,w,A)VU("%08x"):rep(8):format(d(A))V',"S"," local "),"T",",0x"),"U"," return "),"V"," end "),"W","or "),"X","bit32."),"Y","function "),"Z"," do "))()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement