java中如何做一个注册机

package com.test.register;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class RegisterCode {
 private static final String LL = "this is a common sql query operation and get register code before link to database instance";

 public String getSerial(String userId, String licenseNum) {
    java.util.Calendar cal = java.util.Calendar.getInstance();
    cal.add(1, 3);
    cal.add(6, -1);
    java.text.NumberFormat nf = new java.text.DecimalFormat("000");
    licenseNum = nf.format(Integer.valueOf(licenseNum));
    String verTime = new StringBuilder("-").append(
      new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))
      .append("0").toString();
    String type = "-ZZCH";
    String need = new StringBuilder(userId.substring(0, 1)).append(type)
      .append("300").append(licenseNum).append(verTime).toString();
    String dx = new StringBuilder(need).append(LL).append(userId)
      .toString();
    int suf = this.decode(dx);
    String code = new StringBuilder(need).append(String.valueOf(suf))
      .toString();
    return this.change(code);
 }

 private int decode(String s) {
    int i;
    char[] ac;
    int j;
    int k;
    i = 0;
    ac = s.toCharArray();
    j = 0;
    k = ac.length;
    while (j < k) {
     i = (31 * i) + ac[j];
     j++;
    }
    return Math.abs(i);
 }

 private String change(String s) {
    byte[] abyte0;
    char[] ac;
    int i;
    int k;
    int j;
    abyte0 = s.getBytes();
    ac = new char[s.length()];
    i = 0;
    k = abyte0.length;
    while (i < k) {
     j = abyte0[i];
     if ((j >= 48) && (j <= 57)) {
      j = (((j - 48) + 5) % 10) + 48;
     } else if ((j >= 65) && (j <= 90)) {
      j = (((j - 65) + 13) % 26) + 65;
     } else if ((j >= 97) && (j <= 122)) {
      j = (((j - 97) + 13) % 26) + 97;
     }
     ac[i] = (char) j;
     i++;
    }
    return String.valueOf(ac);
 }
 public static void main(String[] args) {
    try {
     System.out.println("please input register name:");
     BufferedReader reader = new BufferedReader(new InputStreamReader(
       System.in));
     String userId = null;
     userId = reader.readLine();
     RegisterCode registerCode = new RegisterCode();
     String res = registerCode.getSerial(userId, "20");
     System.out.println("Serial:" + res);
     reader.readLine();
    } catch (IOException ex) {
    }
 }
}

你可能感兴趣的:(java,java,string,database,query,input,byte)