code: public static String create(String borthday) {
          if (!Pattern.matches("[0-9]{8}", borthday)) {
              return null;
          }
          // 随机挑出一个省市
          String card = "";
          int r1 = (int) (Math.random() * AREA.size());
          int i = 0;
          for (String befor : AREA.keySet()) {
              if (r1 == i) {
                  card += befor;
                  break;
              } else {
                  i++;
              }
          }
          card += borthday;
          // 生成三位随机数
          int r2 = (int) (Math.random() * 899 + 100);
          card += r2;
  
          // 生成最后一位校验码
          byte[] idCardByte = card.getBytes();
          int sum = 0;
          for (int j = 0; j < 17; j++) {
              sum += (((int) idCardByte[j]) - 48) * POWER[j];
          }
          int mod = sum % 11;
          char calcLast = DIVISOR[mod];
          card += calcLast;
          return card;
      }
docs: 根据出生日期随机生成一个身份证号
  
  @param borthday 出生日期，格式为yyyyMMdd（本方法不严格验证参数准确性，只会验证长度和是否数字）
  @return 根据指定出生日期生成的身份证号，参数格式错误时返回null