Skip to content

Instantly share code, notes, and snippets.

@oofnivek
Created January 11, 2023 00:40
Show Gist options
  • Save oofnivek/f2233ce36eaf6530df269d4ef9ca7b4c to your computer and use it in GitHub Desktop.
Save oofnivek/f2233ce36eaf6530df269d4ef9ca7b4c to your computer and use it in GitHub Desktop.
package common;
import java.util.Random;
public class MyRandom {
private String alphabets = "abcdefghijklmnopqrstuvwxyz";
private String numbers = "0123456789";
private String alphanumerics = numbers + alphabets;
public String randomizer(String validChars, int length){
Random random = new Random();
char[] charArray = validChars.toCharArray();
String output = "";
for(int a=0; a<length; a++){
output += charArray[random.nextInt(charArray.length)];
}
return output;
}
public String randomAlphabets(int length){
return randomizer(alphabets,length);
}
public String randomNumbers(int length){
return randomizer(numbers, length);
}
public String randomAlphanumerics(int length){
return randomizer(alphanumerics, length);
}
public String randomBin(){
return randomizer("123456789",1)+randomNumbers(5);
}
public String randomLuhn(String bin){
int remainder = 15 - bin.length();
String fifteen = bin + randomNumbers(remainder);
return fifteen + getChecksum(fifteen);
}
private String getChecksum(String fifteen){
int total = 0;
for(int a=0; a<fifteen.length(); a++){
total += getDigit(fifteen, a);
}
int remainder = total % 10;
int output = 0;
if(remainder > 0){
output = 10 - remainder;
}
return output+"";
}
private int getDigit(String fifteen, int index){
char[] charArray = fifteen.toCharArray();
int output = 0;
if(index%2 == 0){
output = Integer.parseInt(charArray[index]+"") *2;
} else {
output = Integer.parseInt(charArray[index]+"");
}
if(output>9){
char[] temp = (output+"").toCharArray();
output = Integer.parseInt(temp[0]+"")+Integer.parseInt(temp[1]+"");
}
return output;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment