kristenlee1218 2017-11-13 03:39 采纳率: 61.3%
浏览 1811

如何调用这个工具类?

public class Register
{
private static final String smcode = "0123456789ABCDEF";

public static String createRegCode(String mcode)
{
if (mcode == null)
return null;

mcode = mcode.trim().toUpperCase().replace("-", "");
int len = mcode.length();
if (len != 25)
  return null;

for (int i = 0; i < len; ++i) {
  char c = mcode.charAt(i);
  if ("0123456789ABCDEF".indexOf(c) == -1)
    return null;
}

String rcode = createCode(mcode);
String srcode = splitRCode(rcode);
if (srcode != null)
  return srcode;

return null;

}

private static String md5(String str) {
try {
md5 = MessageDigest.getInstance("MD5");
return bytesToHex(md5.digest(str.getBytes())).toUpperCase();
} catch (java.lang.Exception md5) {
}
return null; }

private static String bytesToHex(byte[] bytes) {
StringBuffer md5str = new StringBuffer();

for (int i = 0; i < bytes.length; ++i) {
  int digital = bytes[i];

  if (digital < 0)
    digital += 256;

  if (digital < 16)
    md5str.append("0");

  md5str.append(Integer.toHexString(digital));
}
return md5str.toString().toUpperCase();

}

private static String createCode(String mcode)
{
mcode = mcode.replace("-", "");
char chr = mcode.charAt(20);
mcode = mcode.toUpperCase().substring(0, 20);
String str = md5(mcode);
String rcode = str.substring(0, 20);
rcode = rcode + chr;
rcode = rcode + genExtCode(str);
return rcode;
}

private static String splitRCode(String rcode)
{
StringBuffer buffer = new StringBuffer();
int len = rcode.length();
for (int i = 0; i < len; i += 5) {
if (buffer.length() > 0)
buffer.append("-");

  buffer.append(rcode.substring(i, i + 5));
}
return buffer.toString();

}

private static String genExtCode(String mcode)
{
StringBuffer buffer = new StringBuffer();
for (int i = 3; i >= 0; --i)
buffer.append(mcode.charAt(i * 5));

return buffer.toString();

}
}

  • 写回答

7条回答

  • kristenlee1218 2017-11-13 03:39
    关注

    随机生成字符串,看不懂,不会用。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?