விநியோகிக்கப்பட்ட அமைப்புகள், தரவுத்தொகுப்புகள் மற்றும் வலை பயன்பாடுகளுக்கான மோதல்-எதிர்ப்பு தனித்துவ அடையாளங்களை (CUID) உருவாக்கவும். இந்த கருவி CUID-களை உருவாக்குகிறது, அவை அளவிடத்தக்க, வரிசைப்படுத்தத்தக்க மற்றும் மோதுவதற்கு மிகவும் குறைவானவை.
தகராறுக்கு எதிரான அடையாளத்தை விரைவாக மற்றும் எளிதாக உருவாக்கவும்.
CUID (Collision-resistant Unique IDentifier) என்பது மோதல்-எதிர்ப்பு மற்றும் நிலையான வகையில் வரிசைப்படுத்தப்படக்கூடிய தனித்துவ அடையாளமாக வடிவமைக்கப்பட்டுள்ளது. CUIDகள் ஒருங்கிணைப்பின்றி அடையாளங்களை உருவாக்க வேண்டிய விநியோகிக்கப்பட்ட அமைப்புகளில் மிகவும் பயனுள்ளதாக உள்ளன.
ஒரு CUID பொதுவாக கீழ்காணும் கூறுகளை கொண்டுள்ளது:
CUID செயலாக்கத்தின் அடிப்படையில் சரியான கட்டமைப்பு மாறுபடலாம், ஆனால் இந்த கூறுகள் ஒன்றிணைந்து தனித்துவமான மற்றும் வரிசைப்படுத்தக்கூடிய அடையாளத்தை உருவாக்குகின்றன.
இங்கே ஒரு வழிமுறை CUID கட்டமைப்பின் காட்சி:
CUIDகள் நேர அடிப்படையிலான மற்றும் சீரற்ற கூறுகளை இணைத்து உருவாக்கப்படுகின்றன. இந்த செயல்முறை பொதுவாக:
முடிவில் உருவாக்கப்படும் CUID பொதுவாக எழுத்துக்கள் மற்றும் எண்களின் சரம் வடிவத்தில் பிரதிநிதித்துவம் செய்யப்படுகிறது.
CUIDகள் பிற தனித்துவ அடையாள அமைப்புகளுக்கு எதிராக பல நன்மைகளை வழங்குகின்றன:
CUIDகளுக்கான பொதுவான பயன்பாடுகள்:
இங்கே பல நிரலாக்க மொழிகளில் CUIDகளை உருவாக்குவதற்கான எடுத்துக்காட்டுகள் உள்ளன:
1// ஜாவாஸ்கிரிப்ட் ( 'cuid' நூலகத்தைப் பயன்படுத்தி)
2const cuid = require('cuid');
3const id = cuid();
4console.log(id);
5
1## பைதான் ( 'cuid' நூலகத்தைப் பயன்படுத்தி)
2import cuid
3id = cuid.cuid()
4print(id)
5
1## ரூபி ( 'cuid' ஜெம்களைப் பயன்படுத்தி)
2require 'cuid'
3id = Cuid::generate
4puts id
5
1// ஜாவா ( 'com.github.f4b6a3.cuid' நூலகத்தைப் பயன்படுத்தி)
2import com.github.f4b6a3.cuid.Cuid;
3
4public class CuidExample {
5 public static void main(String[] args) {
6 String id = Cuid.createCuid();
7 System.out.println(id);
8 }
9}
10
1// C# ( 'Cuid.Net' NuGet தொகுப்பைப் பயன்படுத்தி)
2using Cuid;
3
4class Program
5{
6 static void Main(string[] args)
7 {
8 string id = CuidGenerator.Generate();
9 Console.WriteLine(id);
10 }
11}
12
1// PHP ( 'endyjasmi/cuid' தொகுப்பைப் பயன்படுத்தி)
2<?php
3require 'vendor/autoload.php';
4use Endyjasmi\Cuid\Cuid;
5
6$id = Cuid::make();
7echo $id;
8
1// கோ ( 'github.com/lucsky/cuid' தொகுப்பைப் பயன்படுத்தி)
2package main
3
4import (
5 "fmt"
6 "github.com/lucsky/cuid"
7)
8
9func main() {
10 id := cuid.New()
11 fmt.Println(id)
12}
13
1// ஸ்விஃப்ட் ( 'CUID' தொகுப்பைப் பயன்படுத்தி)
2import CUID
3
4let id = CUID()
5print(id)
6
1// C++ (ஒரு தனிப்பயன் செயலாக்கத்தைப் பயன்படுத்தி)
2#include <iostream>
3#include <chrono>
4#include <random>
5#include <sstream>
6#include <iomanip>
7
8std::string generateCUID() {
9 auto now = std::chrono::system_clock::now();
10 auto now_ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now);
11 auto value = now_ms.time_since_epoch();
12 long duration = value.count();
13
14 std::random_device rd;
15 std::mt19937 gen(rd());
16 std::uniform_int_distribution<> dis(0, 35);
17
18 std::stringstream ss;
19 ss << 'c';
20 ss << std::hex << std::setfill('0') << std::setw(8) << duration;
21 for (int i = 0; i < 8; i++) {
22 int r = dis(gen);
23 ss << (char)(r < 10 ? '0' + r : 'a' + r - 10);
24 }
25 return ss.str();
26}
27
28int main() {
29 std::string id = generateCUID();
30 std::cout << id << std::endl;
31 return 0;
32}
33
1% MATLAB (ஒரு தனிப்பயன் செயலாக்கத்தைப் பயன்படுத்தி)
2function id = generateCUID()
3 timestamp = dec2hex(round(posixtime(datetime('now'))*1000), 8);
4 random = '';
5 for i = 1:8
6 random = [random char(randi([48 57 97 122]))];
7 end
8 id = ['c' timestamp random];
9end
10
11% பயன்பாடு
12id = generateCUID();
13disp(id);
14
1## R (ஒரு தனிப்பயன் செயலாக்கத்தைப் பயன்படுத்தி)
2library(lubridate)
3
4generate_cuid <- function() {
5 timestamp <- format(as.numeric(now()) * 1000, scientific = FALSE)
6 timestamp <- substr(timestamp, 1, 8)
7 random <- paste0(sample(c(0:9, letters[1:6]), 8, replace = TRUE), collapse = "")
8 paste0("c", timestamp, random)
9}
10
11## பயன்பாடு
12id <- generate_cuid()
13print(id)
14
1' Excel VBA (ஒரு தனிப்பயன் செயலாக்கத்தைப் பயன்படுத்தி)
2Function GenerateCUID() As String
3 Dim timestamp As String
4 Dim random As String
5 Dim i As Integer
6
7 timestamp = Right("00000000" & Hex(CLng(CDbl(Now()) * 86400000)), 8)
8
9 For i = 1 To 8
10 random = random & Mid("0123456789abcdef", Int(Rnd() * 16) + 1, 1)
11 Next i
12
13 GenerateCUID = "c" & timestamp & random
14End Function
15
16' ஒரு செல்லில் பயன்பாடு
17'=GenerateCUID()
18
CUIDகள் 2012 இல் எரிக் எலியட் மூலம் உருவாக்கப்பட்டன, இது விநியோகிக்கப்பட்ட அமைப்புகளில் தனித்துவ அடையாளங்களை உருவாக்குவதற்கான பிரச்சினைக்கு தீர்வாகும். இந்த கருத்து ட்விட்டரின் ஸ்னோஃப்ளேக் ID அமைப்பால் ஊக்கமளிக்கப்பட்டது, ஆனால் பல்வேறு மேடைகளில் எளிதாக செயல்படுத்தப்படுவதற்காக வடிவமைக்கப்பட்டது.
CUIDகளின் வளர்ச்சி ஒருங்கிணைப்பின்றி அடையாளங்களை உருவாக்குவதற்கான எளிமையான, மோதல்-எதிர்ப்பு ID அமைப்பின் தேவையை அடிப்படையாகக் கொண்டது. எலியட் உருவாக்குவதற்கான நோக்கம் எளிதாக செயல்படுத்தப்படக்கூடிய, மைய ஒருங்கிணைப்பை தேவையற்றது மற்றும் ஆழ்மட்டமாக அளவீடு செய்யக்கூடிய அமைப்பை உருவாக்குவது.
இதுவரை, CUIDகள் பல முறைமைகள் மற்றும் மேம்பாடுகளை கடந்துள்ளன:
CUIDகளின் வளர்ச்சி விநியோகிக்கப்பட்ட அமைப்புகளின் மாறும் தேவைகளை பிரதிபலிக்கிறது மற்றும் தனித்துவ அடையாள உருவாக்கத்தில் எளிமை, பாதுகாப்பு மற்றும் செயல்திறனை சமநிலைப்படுத்துவதற்கான தொடர்ச்சியான முயற்சிகளை பிரதிபலிக்கிறது.
இந்த CUID உருவாக்கி கருவி உங்கள் திட்டங்களுக்கு விரைவில் CUIDகளை உருவாக்க அனுமதிக்கிறது. புதிய CUID உருவாக்க "உருவாக்கவும்" பொத்தானை அழுத்தவும், அதை உங்கள் பயன்பாடுகளில் எளிதாகப் பயன்படுத்த "பகிர்" பொத்தானை அழுத்தவும்.
உங்கள் பணிப்பாக்கிலுக்கு பயனுள்ள மேலும் பயனுள்ள கருவிகளைக் கண்டறியவும்