首頁  >  文章  >  後端開發  >  有什麼好的方法可以產生十萬條不重複的13位元純數字字串

有什麼好的方法可以產生十萬條不重複的13位元純數字字串

WBOY
WBOY原創
2016-10-11 14:23:111273瀏覽

有什麼好的方法可以產生十萬條不重複的13位純數字字串

回覆內容:

有什麼好的方法可以產生十萬條不重複的13位純數字字串

一個個來。從13個0開始,一次加1。 。 。

可用時間戳來生成,或後面再加隨機數

<code>package com.xtl.demo;

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

/**
 * 生成20组不重复的13位数随机数
 * @author xiatianlong
 *
 * @date 2016年10月8日 上午11:44:57
 */
public class CreatRandomNumber {
    
    
    public static void main(String[] args) {
        Set<String> numberSet = new HashSet<String>();
        
        while(true){
            // 数量大于20条即结束
            if (numberSet.size()>20){
                break;
            }
            String randomNumber = createRandomNumber(13);
            numberSet.add(randomNumber);
        }
        
        for (String string : numberSet) {
            System.out.println(string);
        }
    }
    
    /**
     * 生成指定位数的随机数
     * @param length
     *             生成的位数
     * @return
     */
    public static String createRandomNumber(int length){
        String number ="";
        for (int i = 0; i<length; i++){
            int randomNumber = new Random().nextInt(10);
            number += randomNumber+"";
        }
        return number;
    }
}
</code>

沒怎麼考慮性能。 。 。

隨便單向加密個字元再加鹽,取13位元不就行了。

python 裡可用 random.sample:

<code>random.sample(range(10**12, 10**13), 10**5)
</code>

python2 用 xrange,如果要從零開始用 format

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn