Generazione sicura di numeri seriali

1

Voglio generare un numero seriale di 6 cifre, dalla A alla Z (solo in maiuscolo), per esempio

serial = "ABCDEF"

il problema è che alcune lettere sono considerate confuse con altre lettere / numeri, ad es.

U <-> V
O <-> 0 (number)
I <-> 1 (number)

Quindi, esiste un set esistente di lettere sicure che può essere utilizzato come seme per generare un numero di serie sicuro?

    
posta Yoga 01.11.2014 - 09:58
fonte

1 risposta

3

A seconda del font che usi:

  • B (non visivamente molto diverso dalla cifra 8)
  • C (con alcuni tipi di carattere, la differenza con O potrebbe essere a malapena visibile),
  • D (per lo stesso motivo di C),
  • I (è la cifra 1?),
  • O (è la cifra 0?),
  • Q (con alcuni tipi di carattere, la differenza con O potrebbe essere a malapena visibile),

Nota che non devi escludere un solo carattere (diciamo O in 0 / O) in una coppia, ma entrambi (O e 0). Gli utenti non sapranno che li hai esclusi, a meno che non lo rendi ovvio attivando una risposta visiva quando tale carattere viene inserito nella casella di testo. A titolo illustrativo, alcuni anni fa, ho scritto un CAPTCHA personalizzato dove, in effetti, sono stati esclusi personaggi come "B". Sotto il CAPTCHA, c'era una parte di testo:

The image doesn't contain the following characters: B, D, I and O.

Secondo i log, c'erano ancora molti utenti che hanno provato questi quattro personaggi. Modifica del CAPTCHA in:

The image doesn't contain the following characters B, D, I, O, 0, 1 and 8.

aiutato, poiché non c'era più alcuna ambiguità. Successivamente, la rimozione del testo non ha diminuito il rapporto di successo.

Invece di escludere le lettere, puoi provare anche queste alternative:

  1. Scegli un buon carattere che è particolarmente chiaro. Ad esempio, la pagina Slashed zero su Wikipedia descrive il particolare aspetto di "0 / O". Un altro esempio è che quando viene scritto in questo modo: 0/O , diventa ovvio quale è la cifra e quale è la lettera maiuscola.

  2. Se la serie non viene stampata sul pacchetto software, ma è disponibile in formato digitale, rendila facile da copiare e incollare . Ad esempio, molti prodotti con serie di 25 caratteri separati in 5 gruppi da trattini utilizzano 5 caselle di testo, ma consentono di copiare e incollare l'intero numero di serie, gestendo i trattini automaticamente.

  3. Utilizza solo cifre. In questo caso, avvia tutti i numeri seriali di una cifra da 1 a 9 oppure gestisci il caso in cui l'utente non inserisce gli zeri iniziali: quando dovendo inserire il seriale come 003197 , alcuni utenti lo inseriranno così com'è, mentre altri inseriranno solo le ultime quattro cifre.

Inoltre, inserisci spazi o trattini nei tuoi periodici. Confronta quelli a sinistra con quelli a destra:

5F91PS           5F-91-PS
CY4BIW           CY-4B-IW
ZHL0A2           ZH-L0-A2

Quelli a destra sono più facili da digitare e scrivere su un telefono (questo è anche il motivo per cui i serial di Microsoft contengono trattini, anche se la loro lunghezza (25 caratteri) li rende molto difficili da scrivere comunque.

    
risposta data 01.11.2014 - 10:59
fonte

Leggi altre domande sui tag