+ public User setPassword(String password) {
+ try {
+ getValue("password", String.class).set(Hex.toHex(MessageDigestHasher.getSHA512Hasher().hash(password.getBytes("UTF-8"))));
+ return this;
+ } catch (UnsupportedEncodingException uee1) {
+ throw new RuntimeException("VM does not support UTF-8.", uee1);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public User setPasswordHash(String passwordHash) {
+ getValue("password", String.class).set(passwordHash);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean verifyPassword(String password) {
+ try {
+ return getValue("password", String.class).get().equalsIgnoreCase(Hex.toHex(MessageDigestHasher.getSHA512Hasher().hash(password.getBytes("UTF-8"))));
+ } catch (UnsupportedEncodingException uee1) {
+ throw new RuntimeException("VM does not support UTF-8.", uee1);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int getLevel() {
+ return Default.forNull(getValue("level", Integer.class).get(), 0);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public User setLevel(int level) {
+ getValue("level", Integer.class).set(level);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override