import java.util.Random; /** * 将10进制转换成62进制 * * @author jonyliu * @date 2021/11/10 10:55 */ public class ShortUrlUtil { public static String REDIS_KEY = "SHORT_URL_ID"; private static String characters = "8DHGQm34zSxLewFn6JMBPRX1Ku9tOfbAkyl2Yqi5TUhvVo7cpIjNa0WrEdZCsg"; public static String base62(Long b10) { StringBuilder ret = new StringBuilder(); while (b10 > 0) { ret.insert(0,characters.charAt((int) (b10 % 62))); b10 /= 62; } return ret.toString(); } public static long decodeBase62(String b62) { long ret = 0; b62 = new StringBuffer(b62).reverse().toString(); long count = 1; for (char character : b62.toCharArray()) { ret += characters.indexOf(character) * count; count *= 62; } return ret; } private String generateRandomString(){ int count = characters.length(); StringBuffer stringBuffer = new StringBuffer(); Random random = new Random(); int j = 62; for(int i = count;i>0;i--){ int index = random.nextInt(j--); char c = characters.charAt(index); characters = characters.replace(Character.toString(c),""); stringBuffer.append(c); } return stringBuffer.toString(); } }
暂无评论