Hoppa till huvudinnehåll

Normalisera förväxlingsbara tecken till säker text

Att normalisera förväxlingsbara tecken innebär att varje dubbelgångare ersätts med det vanliga tecken den härmar, så att två strängar som ser likadana ut också blir lika vid jämförelse. Gör det innan du jämför användarnamn, matchar mot spärrlistor eller tar bort dubbletter av id:n.

Genomräknat exempel

Indata
Cоnfig file: аdmin2, Noёl, café
Hittade skriftsystem
latinska (Latn), kyrilliska (Cyrl)
Flaggade tecken
7
PositionTeckenKodpunktSkriftsystemErsättningRegel
0CU+FF23latinskaCNFKC-normalisering
1оU+043EkyrilliskaoFörväxlingstabell
7fiU+FB01latinskafiNFKC-normalisering
10:U+FF1Agemensamma:Förväxlingstabell
12аU+0430kyrilliskaaFörväxlingstabell
172U+FF12gemensamma2Förväxlingstabell
22ёU+0451kyrilliskaëFörväxlingstabell
Bevara läsbar Unicode
Config file: admin2, Noël, café
Strikt ASCII-reserv
Config file: admin2, Noel, café

Så fungerar det

  • Kända dubbelgångare ersätts först enligt den inbyggda tabellen. Tecken utanför tabellen normaliseras med NFKC, som omvandlar fullbreddsformer, ligaturer och andra kompatibilitetstecken till sina standardmotsvarigheter.
  • Bevara läsbar Unicode behåller en bokstav med diakritiskt tecken när tabellen anger en, till exempel kyrilliskt ё → ë. Strikt ASCII-reserv använder i stället den vanliga ASCII-bokstaven (ё → e).
  • Bokstäver som varken finns i tabellen eller ändras av NFKC behålls, så café behåller sin accent i båda lägena. Normaliserad text är en jämförelsenyckel, inte en säkerhetsbedömning: spara även originalet och granska flaggade tecken.

Konvertering är den bästa ansträngningen: mappade förväxlingsobjekt och NFKC-vikning är deterministiska, men viss legitim Unicode kommer inte att flaggas.

Din text

Klistra in eller skriv — resultaten uppdateras när du skriver (lätt avstudsad för lång inmatning).

30 tecken skannade
7 misstänkta
Strikt ASCII-reserv
Konverteringsläge

Strikt ASCII-läge ersätter aggressivt kända lookalikes med ASCII. Det kan ändra legitim icke-latinsk text när ett tecken finns i den medföljande kartan eller NFKC-vikt.

Original (misstänkta tecken markerade)

Misstänkta tecken i den ursprungliga vyn är understrukna och märkta "susp". förutom att markera färg.

suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
Rensad utdata
Teckenanalys
Index (0-baserat)OriginalByteKodpunktAnledning
0CCU+FF23NFKC normalization changed this character (compatibility or width folding).
1оoU+043ENon-ASCII confusable mapped to a safer Latin ASCII equivalent.
2nnU+006ENot flagged as a confusable or compatibility character.
3ffU+0066Not flagged as a confusable or compatibility character.
4iiU+0069Not flagged as a confusable or compatibility character.
5ggU+0067Not flagged as a confusable or compatibility character.
6 U+0020Not flagged as a confusable or compatibility character.
7fifiU+FB01NFKC normalization changed this character (compatibility or width folding).
8llU+006CNot flagged as a confusable or compatibility character.
9eeU+0065Not flagged as a confusable or compatibility character.
10::U+FF1ANon-ASCII confusable mapped to a safer Latin ASCII equivalent.
11 U+0020Not flagged as a confusable or compatibility character.
12аaU+0430Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
13ddU+0064Not flagged as a confusable or compatibility character.
14mmU+006DNot flagged as a confusable or compatibility character.
15iiU+0069Not flagged as a confusable or compatibility character.
16nnU+006ENot flagged as a confusable or compatibility character.
1722U+FF12Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
18,,U+002CNot flagged as a confusable or compatibility character.
19 U+0020Not flagged as a confusable or compatibility character.
20NNU+004ENot flagged as a confusable or compatibility character.
21ooU+006FNot flagged as a confusable or compatibility character.
22ёeU+0451Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
23llU+006CNot flagged as a confusable or compatibility character.
24,,U+002CNot flagged as a confusable or compatibility character.
25 U+0020Not flagged as a confusable or compatibility character.
26ccU+0063Not flagged as a confusable or compatibility character.
27aaU+0061Not flagged as a confusable or compatibility character.
28ffU+0066Not flagged as a confusable or compatibility character.
29ééU+00E9Not flagged as a confusable or compatibility character.

Fler guider