Heim  >  Artikel  >  Backend-Entwicklung  >  Gibt es eine gute Möglichkeit, 100.000 eindeutige 13-stellige rein numerische Zeichenfolgen zu generieren?

Gibt es eine gute Möglichkeit, 100.000 eindeutige 13-stellige rein numerische Zeichenfolgen zu generieren?

WBOY
WBOYOriginal
2016-10-11 14:23:111273Durchsuche

Gibt es eine gute Möglichkeit, 100.000 eindeutige 13-stellige rein numerische Zeichenfolgen zu generieren?

Antwortinhalt:

Gibt es eine gute Möglichkeit, 100.000 eindeutige 13-stellige rein numerische Zeichenfolgen zu generieren?

Kommen Sie einer nach dem anderen. Beginnen Sie mit 13 Nullen und fügen Sie jeweils eine hinzu. . .

Kann durch Zeitstempel oder gefolgt von einer Zufallszahl generiert werden

<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>

Ich halte nicht viel von Leistung. . .

Verschlüsseln Sie eine beliebige Anzahl von Zeichen in eine Richtung und fügen Sie Salt hinzu. Nur 13 Bit reichen aus.

Verfügbar in Python random.sample:

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

Verwenden Sie xrange für Python2. Wenn Sie von vorne beginnen möchten, verwenden Sie format.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn