반복되지 않은 랜덤 토큰을 생성합니다

1058 단어 java 기초
###예1
 public static void main(String[] args) {

        String token = System.currentTimeMillis() + new Random(999999999).nextInt() + "";

        MessageDigest md = null;
        try {
            //   MD5  
            md = MessageDigest.getInstance("md5");
            byte[] md5 = md.digest(token.getBytes());
            //   base64  
            BASE64Encoder encoder = new BASE64Encoder();
            String result = encoder.encode(md5);

            System.out.println(result);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }

## 예2 고정 길이의
    private String genNumbers(int ser) {
        Long l = Math.abs(new Random().nextLong());
        String longStr = l.toString();
        int len = l.toString().length();
        if (len != 19) {
            return genNumbers(ser);
        }

        return OffsetDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + String.valueOf(ser)
                + longStr;
    }

좋은 웹페이지 즐겨찾기