இந்தப் பக்கம் என்ன செய்கிறது?
இந்தக் கருவி, உங்கள் குறிப்பிட்ட தேவைக்கு ஏற்றவாறு தனித்துவமான (unique) மற்றும் மோதல்-எதிர்ப்பு (collision-resistant) அடையாளங்காட்டிகளை (identifiers) உருவாக்குகிறது. இது Nano ID வடிவத்தைப் பயன்படுத்துகிறது. நீங்கள் விரும்பும் நீளம் (length) மற்றும் அனுமதிக்கப்பட்ட எழுத்துக்களின் தொகுப்பை (alphabet) அமைக்கலாம். உள்ளீடு அளவுருக்களை மாற்றியவுடன், கருவி உடனடியாக ஒன்று அல்லது பல அடையாளங்காட்டிகளை உருவாக்கி காண்பிக்கும். இவை அனைத்தும் உங்கள் உலாவியிலேயே (browser) நிகழ்கின்றன; BroBroGo சேவையகத்திற்கு எந்தத் தரவும் அனுப்பப்படுவதில்லை.
crypto.getRandomValues() எனப்படும் வலுவான உலாவி சீரற்ற எண் ஜெனரேட்டரைப் பயன்படுத்தி இந்த அடையாளங்காட்டிகள் உருவாக்கப்படுகின்றன. இது அவற்றை யூகிக்க முடியாததாக (unguessable) ஆக்குகிறது. நீங்கள் எண்ணிக்கையை (count) 1 முதல் 100 வரை தேர்வு செய்யலாம். நீளத்தை 2 முதல் 36 வரை அமைக்கலாம். இயல்புநிலை நீளம் 21 எழுத்துக்கள். இயல்புநிலை எழுத்துக்கள் URL-பாதுகாப்பான (URL-safe) எழுத்துக்கள் (A-Z, a-z, 0-9, _ மற்றும் -) ஆகும். நீங்கள் இந்த எழுத்துக்களைத் திருத்தலாம், மாற்றலாம் அல்லது முற்றிலும் மாறுபட்டதாக அமைக்கலாம்.
கருவி எப்போதும் குறைந்தபட்சம் இரண்டு வெவ்வேறு எழுத்துக்களை எழுத்துக்கள் தொகுப்பில் எதிர்பார்க்கிறது. ஒரே ஒரு எழுத்து மட்டும் இருந்தால், முடிவுகள் அழிக்கப்பட்டு, "Alphabet needs at least 2 different characters." என்ற பிழை செய்தி காட்டப்படும். அப்போது அடையாளங்காட்டிகளின் எண்ணிக்கை 0 ஆக மாறும், மேலும் "Copy all" பொத்தான் முடக்கப்படும்.
Nano ID வடிவம் ஏன் வேறுபட்டது?
Nano ID, UUID மற்றும் ULID போன்ற பிற பிரபலமான அடையாளங்காட்டி வடிவங்களிலிருந்து மூன்று முக்கிய வேறுபாடுகளைக் கொண்டுள்ளது.
1. சுருக்கமான நீளம், ஒப்பிடத்தக்க மோதல் எதிர்ப்பு:
UUID இன் இயல்புநிலை நீளம் 36 எழுத்துக்கள். ULID இன் நீளம் 26 எழுத்துக்கள். Nano ID இன் இயல்புநிலை நீளம் வெறும் 21 எழுத்துக்கள் மட்டுமே. இருப்பினும், அதன் மோதல் நிகழ்தகவு (collision probability) UUID உடன் ஒப்பிடத்தக்கது. எடுத்துக்காட்டாக, 21 எழுத்துக்கள் மற்றும் 64 எழுத்துக்கள் கொண்ட இயல்புநிலை எழுத்துக்களைப் பயன்படுத்தினால் (A-Z, a-z, 0-9, _, -), ஒரு நொடிக்கு 1000 முறை ஜெனரேட் செய்தாலும், 10 மில்லியன் ஆண்டுகளில் ஒரு மோதல் ஏற்படும் வாய்ப்பு மிகக் குறைவு. இந்த விகிதாச்சாரம் UUID v4 இன் 122 பிட் சீரற்ற தன்மைக்கு அருகில் உள்ளது.
2. முழுமையான தனிப்பயனாக்கம்:
UUID மற்றும் ULID கள் நிலையான நீளம் மற்றும் இயல்புநிலை எழுத்துக்களைக் கொண்டுள்ளன. நீங்கள் அவற்றை மாற்ற முடியாது. Nano ID கருவி உங்களை நீளம் மற்றும் எழுத்துக்கள் இரண்டையும் சுதந்திரமாகத் தேர்ந்தெடுக்க அனுமதிக்கிறது. உங்களுக்கு 4 எழுத்துக்கள் மட்டுமே தேவைப்பட்டால், அதை அமைக்கலாம். உங்களுக்கு எண்கள் மட்டுமே தேவைப்பட்டால், எழுத்துக்களை "0123456789" ஆக மாற்றலாம். நீள ஸ்லைடரை 36 வரை நகர்த்தலாம். இது மிகவும் சிறியதான அல்லது மிகவும் குறிப்பிட்ட வடிவத் தேவைகளைக் கொண்ட பயன்பாடுகளுக்கு மிகவும் பயனுள்ளதாகும்.
3. உலாவியிலேயே இயங்கும் தன்மை:
UUID ஜெனரேட்டர்கள் பல சேவையகத்தில் இயங்குபவை, ஆனால் இந்தக் கருவி முற்றிலும் உங்கள் உலாவியிலேயே செயல்படுகிறது. எந்த நெட்வொர்க் கோரிக்கையும் இல்லை. தனியுரிமை மற்றும் பாதுகாப்பு காரணங்களுக்காக இது மிகவும் முக்கியமானது. உங்கள் அடையாளங்காட்டிகள் ஒருபோதும் வெளி சேவையகத்திற்கு அனுப்பப்படுவதில்லை.
உள்ளீடுகள் மற்றும் வெளியீடுகள்
உள்ளீடுகள்
| புலம் | சாத்தியமான மதிப்புகள் | இயல்புநிலை |
|---|---|---|
| வடிவம் (Format) | Nano ID (தற்போது மட்டுமே) | Nano ID |
| எண்ணிக்கை (Count) | 1 முதல் 100 வரை | 5 (எடுத்துக்காட்டு) |
| நீளம் (Length) | 2 முதல் 36 வரையிலான முழு எண் | 21 |
| எழுத்துக்கள் (Alphabet) | குறைந்தபட்சம் 2 வெவ்வேறு எழுத்துக்கள் கொண்ட சரம் | URL-பாதுகாப்பான எழுத்துக்கள் (64 எழுத்துக்கள்) |
வெளியீடுகள்
- உருவாக்கப்பட்ட அடையாளங்காட்டிகள்: தனித்தனி வரிகளில் பட்டியலிடப்பட்ட தனித்துவமான சரங்கள்.
- அடையாளங்காட்டிகளின் எண்ணிக்கை: உருவாக்கப்பட்ட மொத்த எண்ணிக்கை (Count புலத்தில் அமைக்கப்பட்ட மதிப்பு).
- நிலைச் செய்திகள்:
- "Ready." – எந்த மாற்றமும் இல்லாதபோது அல்லது முடிவுகள் அழிக்கப்பட்டபோது.
- "Generated." – ஒரு புதிய தொகுப்பு உருவாக்கப்பட்டபோது.
- "Copied all!" – "Copy all" பொத்தானை அழுத்திய பிறகு.
- "Alphabet needs at least 2 different characters." – எழுத்துக்கள் புலத்தில் ஒரே ஒரு தனித்துவமான எழுத்து மட்டும் இருக்கும்போது.
விதிகள், விளிம்பு நிலைகள் மற்றும் தவறுகள்
இந்தக் கருவியுடன் பணிபுரியும்போது சில முக்கியமான விதிகளை மனதில் கொள்ளுங்கள்.
1. எழுத்துக்கள் குறைந்தபட்சம் 2 வெவ்வேறு எழுத்துக்களைக் கொண்டிருக்க வேண்டும்.
நீங்கள் "a" என்ற ஒற்றை எழுத்தை மட்டும் எழுத்துக்களாகக் கொடுத்தால், கருவி எந்த அடையாளங்காட்டியையும் உருவாக்க முடியாது. அனைத்து அடையாளங்காட்டிகளும் ஒரே எழுத்தை மீண்டும் மீண்டும் கொண்டிருக்கும். எனவே, வெளியீடு தெளிவுபடுத்தப்பட்டு பிழைச் செய்தி காட்டப்படும். "Copy all" பொத்தானும் முடக்கப்படும்.
2. நீள மாற்றம் உடனடி மறுஉருவாக்கத்தைத் தூண்டுகிறது.
ஸ்லைடரை நகர்த்தியவுடன், முந்தைய முடிவுகள் அழிக்கப்பட்டு புதிய அடையாளங்காட்டிகள் உருவாக்கப்படுகின்றன. எண்ணிக்கை அல்லது எழுத்துக்களில் ஏதேனும் மாற்றமும் இதேபோன்று செயல்படும்.
3. URL-பாதுகாப்பு இயல்புநிலை, ஆனால் மாற்றத்தக்கது.
இயல்புநிலை எழுத்துக்களில் A-Z, a-z, 0-9, _ மற்றும் - ஆகியவை அடங்கும். இவை எந்த URL இலும் சிக்கல் இல்லாமல் பயன்படுத்தக்கூடியவை. இதை நீங்கள் மாற்ற விரும்பினால், ABCDEFGHIJKLMNOPQRSTUVWXYZ போன்ற வேறு எந்தத் தொகுப்பையும் பயன்படுத்தலாம். ஆனால், URL இல் சிறப்பு எழுத்துக்கள் (எ.கா., #, &, %) சிக்கல்களை ஏற்படுத்தும் என்பதை நினைவில் கொள்ளுங்கள்.
4. நீளம் 2 முதல் 36 வரை மட்டுமே.
நீங்கள் 0 அல்லது 1 நீளத்தை அமைக்க முடியாது. 2 தான் மிகச் சிறிய நீளம். 36 க்கு மேல் அமைத்தால், கருவி 36 ஆகக் கட்டுப்படுத்தும் (அல்லது மாற்றத்தை ஏற்றுக்கொள்ளாது – உண்மையான வழிகாட்டி மூலம் சரிபார்க்கவும்). பொதுவாக, நீளம் 21 பல சூழ்நிலைகளுக்கு சிறந்த சமநிலை.
5. தனிப்பட்ட அடையாளங்காட்டியை கிளிக் செய்வதன் மூலம் நகலெடுக்கலாம்.
பட்டியலில் உள்ள ஒரு அடையாளங்காட்டியில் கிளிக் செய்தால், அது உங்கள் கிளிப்போர்டுக்கு நகலெடுக்கப்படும். "Copy all" பொத்தான் முழுத் தொகுப்பையும் ஒரே முறையில் நகலெடுக்கிறது.
உங்கள் சொந்தத் தேவைக்கு ஏற்ற நீளம் மற்றும் எழுத்துக்கள்
உங்கள் பயன்பாட்டிற்கு ஏற்ற நீளம் மற்றும் எழுத்துக்களை எவ்வாறு தேர்ந்தெடுப்பது? இங்கே சில பரிசீலனைகள்.
நீளம் தேர்வு:
- சிறிய நீளம் (2–8): குறுகிய குட்டி உரைகள், QR குறியீடுகள் அல்லது கைமுறையாக உள்ளிட வேண்டிய சிறிய அளவிலான அமைப்புகளுக்கு ஏற்றது. ஆனால் மோதல் நிகழ்தகவு அதிகம். ஒவ்வொரு நீளம் குறைப்பும் மொத்த சாத்தியமான சேர்க்கைகளை வெகுவாகக் குறைக்கிறது.
- நடுத்தர நீளம் (10–21): பெரும்பாலான இணையப் பயன்பாடுகளுக்கு ஏற்றது. 21 நீளமானது UUID ஐ விட 42% குறுகியதாக இருந்தாலும், மிகக் குறைந்த மோதல் வாய்ப்பை வழங்குகிறது.
- நீண்ட நீளம் (22–36): மிக உயர்ந்த பாதுகாப்பு தேவைப்படும் அல்லது மிகப்பெரிய அளவிலான தரவுத்தளங்களில் பயன்படுத்தலாம். 36 நீளமானது சுமார் 2^216 சாத்தியமான சேர்க்கைகளை வழங்குகிறது.
எழுத்துக்கள் தேர்வு:
- URL-பாதுகாப்பு: இயல்புநிலையே சிறந்தது. இணைய இணைப்புகள், API அழைப்புகள், குக்கீகள் போன்றவற்றுக்கு ஏற்றது.
- எண்கள் மட்டும் (0-9): தொலைபேசி எண்கள், OTP, வங்கி பரிவர்த்தனைகள் போன்ற எண் மட்டுமே ஏற்கப்படும் இடங்களுக்கு. இருப்பினும், எழுத்துக்களின் அளவு சிறியதாக இருப்பதால், அதே நீளத்தில் மோதல் நிகழ்தகவு அதிகம்.
- சிறு எழுத்துக்கள் மட்டும் (a-z): கேஸ்-சென்சிட்டிவ் முறையில் சிக்கல்களைத் தவிர்க்க விரும்பும் அமைப்புகளுக்கு.
- தவிர்க்க வேண்டிய எழுத்துக்கள்:
0மற்றும்O,1மற்றும்l,2மற்றும்Zபோன்ற குழப்பமான எழுத்துக்களைத் தவிர்ப்பது நல்லது. இயல்புநிலை URL-பாதுகாப்பு எழுத்துக்களில் இவை சேர்க்கப்பட்டுள்ளன, ஆனால் நீங்கள் தனிப்பயனாக்கினால் இதை மனதில் கொள்ளுங்கள்.
FAQ
1. Nano ID மற்றும் UUID இடையே உள்ள மிக முக்கியமான வேறுபாடு என்ன?
முக்கிய வேறுபாடு நீளம் மற்றும் தனிப்பயனாக்கம். UUID இன் நீளம் 36 எழுத்துக்கள் மற்றும் அதை மாற்ற முடியாது. Nano ID இயல்புநிலை 21 எழுத்துக்கள், மேலும் நீளம் மற்றும் எழுத்துக்கள் இரண்டையும் தனிப்பயனாக்கலாம். இதனால் Nano ID மிகவும் நெகிழ்வானதாகவும், பல பயன்பாடுகளுக்கு மிகவும் சுருக்கமானதாகவும் உள்ளது.
2. Nano ID இன் மோதல் நிகழ்தகவு எவ்வளவு பாதுகாப்பானது?
இயல்புநிலை 21 எழுத்துக்கள் மற்றும் 64 எழுத்துக்கள் கொண்ட எழுத்துக்களைப் பயன்படுத்தினால், மொத்த சாத்தியமான சேர்க்கைகள் 2^126 (சுமார் 1.3 x 10^38). இது UUID v4 இன் 2^122 உடன் ஒப்பிடத்தக்கது. நீங்கள் நீளத்தை 24 ஆக அதிகரித்தால், சுமார் 2^144 சேர்க்கைகள் கிடைக்கும்.
3. நான் "Copy all" பயன்படுத்தும்போது, எல்லா அடையாளங்காட்டிகளும் ஒரே வரியில் நகலெடுக்கப்படுமா?
இல்லை. "Copy all" ஒவ்வொரு அடையாளங்காட்டியையும் ஒரு புதிய வரியில் (newline) பிரித்து நகலெடுக்கிறது. இது பட்டியல்கள் அல்லது வரிசைகளில் எளிதாக ஒட்டுவதற்கு உதவுகிறது.
4. எழுத்துக்கள் புலத்தில் நான் தவறான எழுத்துக்களை (எ.கா., +) சேர்த்தால் என்ன நடக்கும்?
கருவி எந்த எழுத்தையும் நிராகரிக்காது; அது வழங்கப்பட்ட எழுத்துக்களை அப்படியே பயன்படுத்தும். இருப்பினும், URL-பாதுகாப்பு இல்லாத எழுத்துக்கள் (எ.கா., +, #, &) URL இல் சிக்கல்களை ஏற்படுத்தலாம். கருவி இயல்புநிலையாக URL-பாதுகாப்பான எழுத்துக்களை வழங்குகிறது, ஆனால் அதை மாற்ற முடியும். நீங்கள் URL இல் பயன்படுத்த விரும்பினால், URL-பாதுகாப்பு எழுத்துக்களை மட்டுமே பயன்படுத்த பரிந்துரைக்கப்படுகிறது.
5. 0 அடையாளங்காட்டிகள் உருவாக்கப்பட்டால், அது என்ன அர்த்தம்?
ஒருபோதும் 0 அடையாளங்காட்டிகள் உருவாக்கப்படாது – நீங்கள் Count ஐ 1 முதல் 100 வரை அமைக்கலாம். "IDs count: 0" என்ற செய்தி தோன்றினால், எழுத்துக்கள் புலத்தில் ஒரே ஒரு தனித்துவமான எழுத்து மட்டுமே உள்ளது என்று அர்த்தம். பிழை செய்தி காட்டப்படும், மேலும் கருவி முடிவுகளை அழிக்கும்.
6. இந்தக் கருவி எனது தரவை சேவையகத்திற்கு அனுப்புகிறதா?
இல்லை. அனைத்து செயலாக்கமும் உங்கள் உலாவியிலேயே நிகழ்கிறது. crypto.getRandomValues() உங்கள் கணினியில் சீரற்ற பைட்டுகளை உருவாக்குகிறது. BroBroGo சேவையகத்திற்கு எந்த HTTP கோரிக்கையும் அனுப்பப்படுவதில்லை. இது உங்கள் தரவின் தனியுரிமையை முழுமையாகப் பாதுகாக்கிறது.