Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net;
  6. using System.Threading;
  7. using System.IO;
  8. using System.Net.Sockets;
  9. using System.Configuration;
  10. using System.Security.Cryptography;
  11. using MUD_Crypto;
  12. using MySql.Data.MySqlClient;
  13.  
  14. namespace MUD_DB
  15. {
  16. class MUD_Database
  17. {
  18. static MySqlConnection conn = new MySqlConnection();
  19. static MySqlDataReader reader;
  20. public static void Connect()
  21. {
  22. conn.ConnectionString =
  23. "Data Source=192.168.1.9;" +
  24. "Initial catalog=MUDyo;" +
  25. "User id=herp;" +
  26. "Password=derp;";
  27.  
  28. try
  29. {
  30. conn.Open();
  31. Console.WriteLine("Connected to database!\n");
  32. }
  33. catch (Exception e)
  34. {
  35. Console.WriteLine(e.Message);
  36. }
  37. }
  38.  
  39. public static string LogIn(string name, string password)
  40. {
  41. if (name.Length <= 3)
  42. {
  43. return "Name too short";
  44. }
  45. else if (name.Length > 15)
  46. {
  47. return "Name too long";
  48. }
  49. foreach (char c in name)
  50. {
  51. if (c < 48)
  52. return "Only a-z, A-Z, 0-9";
  53. if (c > 122)
  54. return "Only a-z, A-Z, 0-9";
  55. if (c > 57 && c < 65)
  56. return "Only a-z, A-Z, 0-9";
  57. if (c > 90 && c < 97)
  58. return "Only a-z, A-Z, 0-9";
  59. }
  60. string loginQuery = string.Format("Select * from users where username='{0}' and password='{1}';", name, password);
  61. MySqlCommand command = new MySqlCommand(loginQuery, conn);
  62. reader = command.ExecuteReader();
  63. if (reader.Read())
  64. {
  65. reader.Close();
  66. command.Dispose();
  67. Console.WriteLine("New user logged in as \'{0}\'!", name);
  68. return "logInAccepted";
  69. }
  70. else
  71. {
  72. reader.Close();
  73. command.Dispose();
  74. return "logInDenied";
  75. }
  76. }
  77.  
  78. public static string Register(string name, string password)
  79. {
  80. if (name.Length <= 3)
  81. {
  82. return "Name too short";
  83. }
  84. else if (name.Length > 15)
  85. {
  86. return "Name too long";
  87. }
  88. foreach (char c in name)
  89. {
  90. if (c < 48)
  91. return "Only a-z, A-Z, 0-9";
  92. if (c > 122)
  93. return "Only a-z, A-Z, 0-9";
  94. if (c > 57 && c < 65)
  95. return "Only a-z, A-Z, 0-9";
  96. if (c > 90 && c < 97)
  97. return "Only a-z, A-Z, 0-9";
  98. }
  99. string registerQuery = string.Format("Select * from users where username='{0}';", name);
  100. MySqlCommand command = new MySqlCommand(registerQuery, conn);
  101. reader = command.ExecuteReader();
  102. if (reader.Read())
  103. {
  104. reader.Close();
  105. command.Dispose();
  106. return "regTaken";
  107. }
  108. else
  109. {
  110. reader.Close();
  111. registerQuery = string.Format("Insert into users (username, password, level, exp, health, strength) values ('{0}', '{1}', '1', '0', '100', '10');", name, password);
  112. command = new MySqlCommand(registerQuery, conn);
  113. reader = command.ExecuteReader();
  114. Console.WriteLine("New user \'{0}\' registered!", name);
  115. reader.Close();
  116. return "regAccepted";
  117. }
  118. }
  119.  
  120. public static uint[] PullStats(string username)
  121. {
  122. string getStatsQuery = string.Format("SELECT * FROM users WHERE username='{0}';", username);
  123. MySqlCommand command = new MySqlCommand(getStatsQuery, conn);
  124. reader = command.ExecuteReader();
  125. if (reader.Read())
  126. {
  127. uint[] ret = new uint[3];
  128. ret[0] = (uint)reader["level"];
  129. ret[1] = (uint)reader["health"];
  130. ret[2] = (uint)reader["strength"];
  131.  
  132. return ret;
  133. }
  134. else
  135. {
  136. // logged in user doesn't exist in DB?
  137. reader.Close();
  138. command.Dispose();
  139. uint[] ret = new uint[] { 0 };
  140. return ret;
  141. }
  142. }
  143. }
  144. }
  145.  
  146. namespace MUD_Crypto
  147. {
  148. class MUD_MD5
  149. {
  150. public static string Encrypt(string pw)
  151. {
  152. MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
  153. byte[] bs = System.Text.Encoding.UTF8.GetBytes(pw);
  154. bs = md5.ComputeHash(bs);
  155. StringBuilder sb = new StringBuilder();
  156. foreach (byte b in bs)
  157. {
  158. sb.Append(b.ToString("x2").ToLower());
  159. }
  160. return sb.ToString();
  161. }
  162. }
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement