از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش تولید رشته تصادفی در Bash
سرفصلهای مطلب
در این آموزش، راههای مختلفی را که میتوانیم رشتههای تصادفی تولید کنیم، بررسی خواهیم کرد bash. این قابلیت می تواند هنگام ایجاد نام کاربری، رمز عبور یا داده های اولیه مفید باشد.
روش 1: md5 هش
اولین روشی که می توانیم برای تولید یک رشته تصادفی در آن استفاده کنیم bash md5 چک جمع است. Bash دارای متغیر $RANDOM است که یک عدد تصادفی تولید می کند. می توانیم این مقدار را به md5sum لوله کنیم تا یک رشته تصادفی بدست آوریم.
برای نشان دادن:
996e405cb0cdd2e10299
متغیر $RANDOM همیشه تصادفی است. در نتیجه، md5 checksum تولید شده همیشه تصادفی است.
روش 2: UUID
همچنین می توانید از مولد UUID کرنل در /proc/sys/kernel/random/uuid استفاده کنید. این به شما یک مقدار هگزادسیمال منحصر به فرد را می دهد که می توانید با استفاده از دستور sed و head آن را به یک رشته تصادفی تبدیل کنید:
مثلا:
c23174ce6fa149498fc7
روش 3: دستگاه های شبه
این جمله را شنیده اید که “همه چیز در لینوکس یک فایل است.” یکی از مفاهیمی که این عبارت را درست می کند، توانایی بیان دستگاه ها به صورت فایل است.
فایلهای واقع در /dev به عنوان دستگاههای شبه شناخته میشوند. آنها به عنوان پل بین هسته و سخت افزار عمل می کنند. یکی از فایل های این دایرکتوری فایل uradom است.
فایل urandom یک رابط برای دسترسی به مولد اعداد تصادفی هسته فراهم می کند. بنابراین، می توانیم از آن برای تولید یک رشته تصادفی همانطور که در زیر نشان داده شده است استفاده کنیم:
qGswsbBusuztUEKXhiHu
خروجی urandom را به tr لوله می کنیم، که مقادیر الفبای عددی تولید می کند و سپس مقادیر را به عرض حداکثر 20 کاراکتر تا می کنیم. در نهایت یک رشته خط دار با head -n بدست می آوریم.
برای به دست آوردن چندین مقدار به طور همزمان، مقدار head -n را به تعداد خطوط مورد نیاز تغییر دهید.
POzxNTvFtNQqjzgJFwou
RaZpkKDCWIvzAxaCraMu
BldZwyUIYWZPFnMiMETl
CxVFKmAoGBEZysLqzORo
YoXTcgLzXdnoEzoMwmFa
روش 4: Base64
همچنین می توانید از ابزار base64 برای تولید یک رشته تصادفی استفاده کنید. برای مثال، با استفاده از متغیر $RANDOM، میتوانیم انجام دهیم:
MTM2ODEK
روش 5: بایت های شبه تصادفی OpenSSL
دستور OpenSSL rand به شما امکان می دهد بر اساس بایت های تصادفی تولید کنید روی نوع مشخص شده این انواع شامل مقادیر base63 و hex می باشد.
مثلا:
1dba62137447861b2b2eb81e5886fa98d021007b
یا از base64 به صورت زیر استفاده کنید:
i05hHQeajBZcZerx/FtPtJH4XYUd
نتیجه
در آستانه نزدیک شدن، bash ابزارهای مختلفی را ارائه می دهد که می توانید از آنها برای تولید رشته های تصادفی استفاده کنید. بنابراین، تنها کاری که باید انجام دهید این است که ابزارهای مختلف را ترکیب کرده و روشی هوشمندانه برای بدست آوردن رشته های تصادفی متناسب با نیازهای شما ایجاد کنید.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 19:36:02