Java Obsfucate Password - Replace with asterisk

Obsfucate password : 

Rreplace everything except first and last character by asterisk ( * ), if  the password is less than ALLOWED_LENGTH characters long obfuscate it entirely i.e., prints asterisks

Code :
   
//Test 
System.out.println( getObfuscatedPassword( "" ) ); //returns null
System.out.println( getObfuscatedPassword( "pwdd" ) ); //returns ****
System.out.println( getObfuscatedPassword( "mySecurePassword" ) ); // returns m**************d


//Method 
public static String getObfuscatedPassword( String password ) {
   
   int ALLOWED_LENGTH = 5;
   
   if ( null == password || "".equals( password.trim( ) ) ) {
    return null;
   }
   
   StringBuilder builder = new StringBuilder( );
   
   if ( password.length( ) < ALLOWED_LENGTH ) {
   
    for ( int i = password.length( ); i != 0; i-- ) {
     builder.append( "*" );
    }
   
    return builder.toString( );
   }
   
   builder.append( password.charAt( 0 ) );
   
   for ( int i = password.length( ) - 2; i != 0; i-- ) {
    builder.append( "*" );
   }
   
   return builder.append( password.substring( password.length( ) - 1 ) ).toString( );
}

   

change maven local repository path - symbolic links

Let's suppose we want to change the local maven repo path (default : c:\users\user_name\.m2\repository) to some other real folder - lets say e:\repo  - so that the contents from e:\repo folder are mapped to the default folder location.

This might be useful when .m2 folder on your C: drive is taking too much space. In such case, you can move the content to another drive ( e:\repo) and have a symbolic link on C:\ drive instead - so that all the configuration remains intact.


The following command creates a link folder "repository" in /.m2 folder and points to the source e:\REPO

C:\>mklink /d c:\users\gtiwari\.m2\repository e:\REPO


Note:


using symbolic links on windows

mklink /d – create a directory symbolic link in Windows

Suppose you want to make the folder e:\source appear at c:\target\bridge without physically copying its contents. You can set up a symbolic link. Open an elevated Command Prompt and run:

C:\>mklink /d c:\target\bridge e:\source

Syntax: mklink /d TARGET SOURCE_DIR

  • This command creates a symbolic link named “bridge” inside c:\target, pointing to e:\source. Opening c:\target\bridge shows the contents of e:\source transparently, as if they were stored there.
  • Creating symbolic links requires administrator privileges. If you see “You do not have sufficient privilege to perform this operation,” run the Command Prompt as Administrator. As an alternative, mklink /j creates a junction that doesn’t need elevation, but it only works with local directories.
For more details:
Visit: http://ss64.com/nt/mklink.html