Override Object.hashCode() and Object.equals().
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / data / DefaultUser.java
index 6867ef3..824d54e 100644 (file)
@@ -64,7 +64,7 @@ public class DefaultUser extends DefaultBase implements User {
        @Override
        public User setPassword(String password) {
                try {
-                       getValue("password", String.class).set(Hex.toHex(MessageDigestHasher.getSHA512Hasher().hash(password.getBytes("UTF-8"))));
+                       getValue("password", String.class).set(Hex.toHex(MessageDigestHasher.getSHA256Hasher().hash(password.getBytes("UTF-8"))));
                        return this;
                } catch (UnsupportedEncodingException uee1) {
                        throw new RuntimeException("VM does not support UTF-8.", uee1);
@@ -86,7 +86,7 @@ public class DefaultUser extends DefaultBase implements User {
        @Override
        public boolean verifyPassword(String password) {
                try {
-                       return getValue("password", String.class).get().equalsIgnoreCase(Hex.toHex(MessageDigestHasher.getSHA512Hasher().hash(password.getBytes("UTF-8"))));
+                       return getValue("password", String.class).get().equalsIgnoreCase(Hex.toHex(MessageDigestHasher.getSHA256Hasher().hash(password.getBytes("UTF-8"))));
                } catch (UnsupportedEncodingException uee1) {
                        throw new RuntimeException("VM does not support UTF-8.", uee1);
                }
@@ -127,4 +127,27 @@ public class DefaultUser extends DefaultBase implements User {
                return this;
        }
 
+       //
+       // OBJECT METHODS
+       //
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public int hashCode() {
+               return getId().hashCode();
+       }
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public boolean equals(Object object) {
+               if (!(object instanceof User)) {
+                       return false;
+               }
+               return ((User) object).getId().equals(getId());
+       }
+
 }