How to mask a number with stars except the first 6 and the last 4 digits in Java

1 Answer

0 votes
public class Program {
    public static String maskNumberWithStarsExceptFirstSixAndLastFour(String cardNumber) {
        String first6Digits = cardNumber.substring(0, 6);
        String last4Digits = cardNumber.substring(cardNumber.length() - 4);
        
        String requiredMask = new String(new char[cardNumber.length() - first6Digits.length() - last4Digits.length()]).replace("\0", "*");

        return first6Digits + requiredMask + last4Digits;
    }

    public static void main(String[] args) {
        String cardNumber = "9003125334656789";
        
        String maskedNumber = maskNumberWithStarsExceptFirstSixAndLastFour(cardNumber);
        
        System.out.println(maskedNumber);
    }
}



 
/*
run
 
900312******6789
 
*/


 



answered May 30, 2024 by avibootz
...