1将url生成短链码
public static long murmurhash32(String url){
long murmurhash= Hashing.murmur3_32().hashUnencodedChars(url).padToLong();
return murmurhash;
}
将url生成短链后转成64
@Component
public class ShortLinkComponent {
private static final String CHARS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
public String createShortlinkCode(String param){
long murmurhash32 = CommonUtil.murmurhash32(param);
String code = endcodeToBase62(murmurhash32);
//转成62进制
return code;
}
private String endcodeToBase62(long num){
//StringBuffer是线程安全的
StringBuffer sb=new StringBuffer();
do {
int i= (int) num%62;
sb.append(i);
num=num/62;
}while (num>0);
String s = sb.reverse().toString();
return s;
}
}