class Encryptor{ static String charPool = "AKFLDJAHSPIWUROCNMZX"; static String intToString(int input){ String output = ""; for(int i=0; i < input.toString().length; i++){ output += charPool[int.parse(input.toString()[i])]; } int luckyNumber = GetLuckyNumber(input); String lastLetter = charPool[luckyNumber]; return output + lastLetter; } static int stringToInt(String input){ String output = ""; for(int i=0; i < input.length-1; i++){ for(int j=0; j < charPool.length; j++){ if(charPool[j] == input[i]){ output += j.toString(); break; } } } String lastChar = input[input.length-1]; int outputInt = int.parse(output); String luckyChar = charPool[GetLuckyNumber(outputInt)]; bool validated = luckyChar == lastChar; if(validated){ return outputInt; }else{ print("Error validating User ID, expected $luckyChar got $lastChar"); return -1; } } static int GetLuckyNumber(int input){ int luckyNumber = input; while(luckyNumber >= 10){ int val = 0; for(int i=0; i < luckyNumber.toString().length; i++){ val+= int.parse(luckyNumber.toString()[i].toString()); } luckyNumber = val; } return luckyNumber; } }