Метод получение md5-hash перенесён в класс Util

This commit is contained in:
Victor 2013-12-02 15:19:24 +02:00
parent e696923f05
commit fa9aa7d2f9
3 changed files with 97 additions and 105 deletions

View File

@ -1,74 +1,94 @@
package tse; package tse;
import java.awt.Image; import java.awt.Image;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Scanner; import java.security.MessageDigest;
import javax.imageio.ImageIO; import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
/** import javax.imageio.ImageIO;
*
* @author aNNiMON /**
*/ *
public class Util { * @author aNNiMON
*/
private static final boolean DEBUG = true; public class Util {
public static String readDescription(int labNumber, int index) { private static final boolean DEBUG = true;
final StringBuilder text = new StringBuilder();
final String resource = "/res/desc" + labNumber + "_" + index + ".txt"; public static String readDescription(int labNumber, int index) {
BufferedReader in = null; final StringBuilder text = new StringBuilder();
try { final String resource = "/res/desc" + labNumber + "_" + index + ".txt";
InputStream stream = getInputStream(resource); BufferedReader in = null;
InputStreamReader reader = new InputStreamReader(stream, StandardCharsets.UTF_8); try {
in = new BufferedReader(reader); InputStream stream = getInputStream(resource);
InputStreamReader reader = new InputStreamReader(stream, StandardCharsets.UTF_8);
String line = in.readLine(); in = new BufferedReader(reader);
while (line != null) {
text.append(line); String line = in.readLine();
line = in.readLine(); while (line != null) {
} text.append(line);
} catch (IOException | NullPointerException ex) { line = in.readLine();
text.append("Error"); }
handleException(ex); } catch (IOException | NullPointerException ex) {
} finally { text.append("Error");
if (in != null) { handleException(ex);
try { } finally {
in.close(); if (in != null) {
} catch (IOException ex) { try {
handleException(ex); in.close();
} } catch (IOException ex) {
} handleException(ex);
} }
return text.toString(); }
} }
return text.toString();
public static double readDouble(Scanner sc) { }
while (!sc.hasNextDouble()) {
System.out.println("Ошибка! Неверный формат!"); public static double readDouble(Scanner sc) {
sc.next(); while (!sc.hasNextDouble()) {
} System.out.println("Ошибка! Неверный формат!");
return sc.nextDouble(); sc.next();
} }
return sc.nextDouble();
public static Image readImageRes(String name) { }
try {
InputStream is = getInputStream("/res/images/" + name); public static Image readImageRes(String name) {
return ImageIO.read(is); try {
} catch (IOException ex) { InputStream is = getInputStream("/res/images/" + name);
handleException(ex); return ImageIO.read(is);
} } catch (IOException ex) {
return null; handleException(ex);
} }
return null;
public static void handleException(Exception ex) { }
if (DEBUG) ex.printStackTrace();
} public static void handleException(Exception ex) {
if (DEBUG) ex.printStackTrace();
private static InputStream getInputStream(String resource) { }
return Runtime.getRuntime().getClass().getResourceAsStream(resource);
} public static String md5(String s) {
} try {
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(s.getBytes());
byte[] messageDigest = digest.digest();
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < messageDigest.length; i++) {
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
private static InputStream getInputStream(String resource) {
return Runtime.getRuntime().getClass().getResourceAsStream(resource);
}
}

View File

@ -12,6 +12,7 @@ import javax.swing.JTextField;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
import org.netbeans.lib.awtextra.AbsoluteConstraints; import org.netbeans.lib.awtextra.AbsoluteConstraints;
import org.netbeans.lib.awtextra.AbsoluteLayout; import org.netbeans.lib.awtextra.AbsoluteLayout;
import tse.Util;
/** /**
* Панель авторизации. * Панель авторизации.
@ -147,7 +148,7 @@ public class LoginPanel extends JPanel {
} }
private void registerNewAccount(String user, String pass) { private void registerNewAccount(String user, String pass) {
String md5hash = Utils.md5(pass); String md5hash = Util.md5(pass);
AccountManager.getInstance().createNewAccount(user, md5hash); AccountManager.getInstance().createNewAccount(user, md5hash);
} }
@ -163,7 +164,7 @@ public class LoginPanel extends JPanel {
return; return;
} }
String md5hash = Utils.md5(pass); String md5hash = Util.md5(pass);
switch(AccountManager.getInstance().checkAuth(login, md5hash)) { switch(AccountManager.getInstance().checkAuth(login, md5hash)) {
case AccountManager.STATE_ACCOUNT_NOT_EXISTS: case AccountManager.STATE_ACCOUNT_NOT_EXISTS:
JOptionPane.showMessageDialog(this, "Пользователя с таким именем не существует", "Ошибка", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(this, "Пользователя с таким именем не существует", "Ошибка", JOptionPane.ERROR_MESSAGE);

View File

@ -1,29 +0,0 @@
package tse.lr4;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
*
* @author aNNiMON
*/
public class Utils {
public static String md5(String s) {
try {
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(s.getBytes());
byte[] messageDigest = digest.digest();
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < messageDigest.length; i++) {
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
}