1 16 package org.jmanage.core.tools; 17 18 import org.jmanage.core.auth.UserManager; 19 import org.jmanage.core.auth.User; 20 import org.jmanage.core.auth.AuthConstants; 21 import org.jmanage.core.util.PasswordField; 22 import org.jmanage.core.crypto.EncryptedKey; 23 import org.jmanage.core.crypto.KeyManager; 24 import org.jmanage.core.crypto.Crypto; 25 26 import java.util.Arrays ; 27 28 33 public class ChangeAdminPassword { 34 35 public static void main(String [] args) 36 throws Exception { 37 38 final UserManager userManager = UserManager.getInstance(); 39 final char[] oldPassword = 40 PasswordField.getPassword("Enter Old password:"); 41 final User admin = userManager.verifyUsernamePassword(AuthConstants.USER_ADMIN, 42 oldPassword); 43 if(admin == null){ 44 System.out.println("Invalid password."); 45 return; 46 } 47 48 final char[] newPassword = getNewPassword(); 49 if(newPassword == null){ 50 return; 51 } 52 53 54 admin.setPassword(Crypto.hash(newPassword)); 55 userManager.updateUser(admin); 56 57 58 EncryptedKey encryptedKey = KeyManager.readKey(oldPassword); 59 encryptedKey.setPassword(newPassword); 60 61 KeyManager.writeKey(encryptedKey); 62 63 System.out.println("Password has been changed"); 64 } 65 66 private static char[] getNewPassword() 67 throws Exception { 68 69 final char[] password = PasswordField.getPassword("Enter new password:"); 70 final char[] password2 = PasswordField.getPassword("Re-enter new password:"); 71 if(!Arrays.equals(password, password2)){ 72 System.out.println("Passwords do not match."); 73 return null; 74 } 75 return password; 76 } 77 } 78 | Popular Tags |