package dk.thoerup.bukkit.hoeruputils.web; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import io.ebean.Ebean; public class WebUserCommand implements CommandExecutor { Plugin plugin; public WebUserCommand(Plugin plugin) { this.plugin = plugin; Ebean.getDefaultServer().find(WebUser.class).findCount(); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!(sender instanceof Player)) { sender.sendMessage("This is not a console command!"); return true; } if (args.length != 1) { sender.sendMessage("Usage: /webuser "); return true; } String password = args[0]; WebUser user = Ebean.getDefaultServer().find(WebUser.class).where() .eq("user", sender.getName()).findUnique(); if (user == null) { user = new WebUser(); user.setUser(sender.getName()); } MessageDigest md5 = null; try { md5 = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } md5.update(password.getBytes(), 0, password.length()); String pwd = new BigInteger(1,md5.digest()).toString(16); if (pwd.length() == 31) { pwd = "0" + pwd; } user.setPassword(pwd); Ebean.getDefaultServer().save(user); sender.sendMessage("Your web password has been set"); return true; } }