تقسیم شدہ نظاموں، ڈیٹا بیسز، اور ویب ایپلیکیشنز کے لیے ٹکراؤ سے محفوظ منفرد شناخت کنندگان (CUIDs) تیار کریں۔ یہ ٹول ایسے CUIDs بناتا ہے جو اسکیل ایبل، ترتیب پذیر، اور ٹکرانے کے امکانات کے لحاظ سے انتہائی کم ہیں۔
ایک تصادم-مقاوم شناختی نمبر جلدی اور آسانی سے تیار کریں۔
CUID (Collision-resistant Unique IDentifier) ایک منفرد شناخت کنندہ ہے جو تصادم کے خلاف مزاحم، افقی طور پر قابل توسیع، اور ترتیب وار قابل ترتیب ہونے کے لیے ڈیزائن کیا گیا ہے۔ CUIDs خاص طور پر تقسیم شدہ نظاموں میں مفید ہیں جہاں منفرد شناخت کنندہ بغیر کسی نوڈز کے درمیان ہم آہنگی کے پیدا کرنے کی ضرورت ہوتی ہے۔
ایک CUID عام طور پر مندرجہ ذیل اجزاء پر مشتمل ہوتا ہے:
حقیقی ساخت CUID کے نفاذ کے لحاظ سے مختلف ہو سکتی ہے، لیکن یہ اجزاء مل کر ایک منفرد اور ترتیب وار شناخت کنندہ تخلیق کرتے ہیں۔
یہاں ایک عام CUID ساخت کی بصری نمائندگی ہے:
CUIDs وقت کی بنیاد اور بے ترتیب اجزاء کے مجموعے کا استعمال کرتے ہوئے پیدا کیے جاتے ہیں۔ یہ عمل عام طور پر شامل ہوتا ہے:
حاصل کردہ CUID عام طور پر حروف اور نمبروں کے ایک سٹرنگ کے طور پر پیش کیا جاتا ہے۔
CUIDs دوسرے منفرد شناخت کنندہ نظاموں کے مقابلے میں کئی فوائد پیش کرتے ہیں:
CUIDs کے عام استعمال کے معاملات میں شامل ہیں:
یہاں مختلف پروگرامنگ زبانوں میں CUIDs پیدا کرنے کی مثالیں ہیں:
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// پی ایچ پی ( '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' ایکسل 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
CUIDs کو اصل میں Eric Elliott نے 2012 میں تقسیم شدہ نظاموں میں منفرد شناخت کنندہ پیدا کرنے کے مسئلے کے حل کے طور پر تیار کیا تھا۔ یہ تصور ٹویٹر کے اسنو فلیک ID نظام سے متاثر ہوا تھا لیکن اسے مختلف پلیٹ فارمز پر زیادہ آسانی سے نافذ اور استعمال کرنے کے لیے ڈیزائن کیا گیا تھا۔
CUIDs کی ترقی اس سادہ، تصادم کے خلاف مزاحم ID نظام کی ضرورت کے ذریعہ چلائی گئی تھی جو مختلف پروگرامنگ زبانوں اور ماحول میں کام کر سکے۔ ایلیٹ کا مقصد ایک ایسا نظام تخلیق کرنا تھا جو نافذ کرنے میں آسان ہو، مرکزی ہم آہنگی کی ضرورت نہ ہو، اور افقی طور پر توسیع پذیر ہو۔
اپنی ابتدا سے لے کر، CUID کئی مراحل اور بہتریوں سے گزرا ہے:
CUIDs کی ترقی تقسیم شدہ نظاموں کی بدلتی ہوئی ضروریات کی عکاسی کرتی ہے اور منفرد شناخت کنندہ کی پیداوار میں سادگی، سیکیورٹی، اور کارکردگی کے درمیان توازن برقرار رکھنے کی جاری کوششوں کی عکاسی کرتی ہے۔
یہ CUID جنریٹر ٹول آپ کو اپنے منصوبوں کے لیے جلدی سے CUIDs پیدا کرنے کی اجازت دیتا ہے۔ بس "جنریٹ" بٹن پر کلک کریں تاکہ ایک نیا CUID تخلیق کریں، اور اسے اپنی ایپلیکیشنز میں آسانی سے استعمال کرنے کے لیے اپنے کلپ بورڈ میں کاپی کرنے کے لیے "کاپی" بٹن کا استعمال کریں۔
آپ کے ورک فلو کے لیے مفید ہونے والے مزید ٹولز کا انعام کریں