امروز میخواهیم اسکریپتی را به شما معرفی کنیم که توسط اعضای فنی آرشاتک برای تولید انواع پسورد مبتنی بر الگوهای مختلف و جذاب نوشته شده است. شما با استفاده از این اسکریپت که تحت عنوان passgen می باشد میتوانید با خیال آسوده پسوردهای امن خود را ایجاد کرده و بر روی حساب های کاربری خود تنظیم نمائیذ.
البته در آموزش های قبلی شیوه های تولید پسورد با استفاده از دستورهای لینوکس را خدمت شما توضیح دادیم. این آموزش میتواند به نوعی شما در زبان برنامه نویسی پایتون تقویت کرده و همچنین به شما اختیارات بیشتری برای تولید پسورد مورد نظر خود بدهد.
آموزش مرتبط
اسکریپت تولید پسورد در پایتون
راهنمای استفاده از ابزار
اسکریپت passgen را باید از طریق خط فرمان لینوکس به اجرا در بیاورید. برای این کار ترمینال لینوکس را باز کرده و اسکریپت مورد نظر را اجرا کنید:
1 |
lsc@arshatech:~$ python passgen.py |
مشاهده میکنید که برنامه از شما اطلاعات بیشتری میخواهد و برای اجرا صحیح آن می بایست سوئیچ های مورد نیاز به برنامه داده شود.
گرفتن help
حال برا اینکه بدانیم چه ویژگی هایی در برنامه وجود دارد با سوئیچ h- از برنامه help میگیریم:
1 |
lsc@arshatech:~$ python passgen -h |
همانطور که مشاهده میشود قابلیت های متنوعی وجود دارد که ما در ادامه به معرفی برخی از این قابلیت ها میپردازیم.
در خروجی دستور بالا یک سوئیچ با نام e- وجود دارد که با اجرای آن میتوانید توضیحات بیشتر پیرامون برنامه و برخی مثال ها را مشاهده کنید:
1 |
lsc@arshatech:~$ python passgen.py -e |
شرح اسکریپت همراه با مثال
ما در این مثال میخواهیم به شما نشان دهیم که چگونه پسوردهای متشکل از اعداد و ارقام تولید کنید. در ضمن این مثال شما با سوئیچ های دیگر برنامه نیز آشنا خواهید شد. به مثال زیر توجه کنید:
1 |
lsc@arshatech:~$ python passgen -l 8 -p digit -n 5 |
- l-: این سوئیچ بیانگر تعداد کاراکترهای پسوردهای تولید شده است.
- p-: این سوئیچ الگوی تولید پسورد را مشخص میکند. در مثال بالا از عبارت digit که به معنای رقم می باشد استفاده شده است. بنابراین پسورد تولید شده به شکل عدد خواهد بود.
- n-: بیانگر تعداد پسوردهای تولید شده است. از آنجایی که در مثال بالا عدد ۵ آورده شده است تعداد ۵ پسورد تولید شده است.
حال میخواهیم نشان دهیم که چگونه تعداد کاراکترهای پسورد تولید شده را افزایش دهید و همچنین در صورت نیاز از الگوی تنوع کاراکتری بیشتری استفاده کنید:
1 |
lsc@arshatech:~$ python passgen.py -l 6-10 -p mix -n 4 |
- l-: در این مثال ما به اسکریپت اعلام کردیم که طول کاراکترهای پسوردهای خود را بین ۶ تا ۱۰ کاراکتر تعیین کند.
- p-: در این مثال از الگوی mix استفاده شده است. الگوی mix شامل اعداد، حروف کوچک و بزرگ و همچنین کاراکترهای خاص مانند (!# میشود.
- n-: در این مثال تعداد پسوردهای تولید شده برابر ۴ می باشد. این بدان معناست که تعداد ۴ پسورد ۶ کاراکتری تا ۱۰ کاراکتری تولید میشود.
در مثال بالا چیزی که اجرا میشود این است که شما ۴ پسورد ۶ کاراکتری با الگوی mix، همچنین ۴ پسورد ۷ کاراکتری با الگوی mix و … تا ۴ پسورد ۱۰ کاراکتری با الگوی mix دریافت خواهید کرد.
یکی دیگر از قابلیت های جذاب این اسکریپت این است که شما میتوانید الگوی مورد نظر خود را با سوئیچ o- به برنامه بدهید.
1 |
lsc@arshatech:~$ python passgen.py -o %2l%u%d%2s -n 10 |
در مثال بالا مجموعا تعداد ۱۰ پسورد تولید میشود که الگوی آن توسط شما تعریف شده است.
- %۲l: کاراکتر l به معنای lowercase بوده و این مثال تعداد ۲ کاراکتر با حروف کوچک را به صورت تصادفی تولید میکند.
- u%: بیانگر uppercase بوده و در این مثال یک حرف بزرگ به صورت تصادفی تولید میشود.
- d%: بیانگر digit بوده و در این مثال ی کاراکتر به صورت رقم انتخاب میگردد.
- %۲s: بیانگر special character بوده و تعداد دو کارکتر خاص را برای شما تولید میکند.
در مجموع بعد از اجرای اسکریپت هر پسورد از چپ به راست شامل دو حرف کوچک، یک حرف بزرگ، یک عدد و در انتها دو کاراکتر خاص خواهد بود. پس شما در انتها ۱۰ پسورد ۶ کاراکتری دریافت خواهید کرد.
این اسکریپت به شما این امکان را میدهد که تمامی حالات یک کلمه را نیز با حرف های کوچک و بزرگ دریافت کنید. برای این کار از سوئیچ w- استفاده میشود:
1 |
lsc@arshatech:~$ python passgen.py -w test |
حالا از این ویژگی میتوانید برای تولید پسورد دلخواه خود استفاده کنید. به عنوان مثال میخواید پسورد شما شامل یک کلمه خاص نیز بشود. به مثال زیر توجه کنید:
1 |
lsc@arshatech:~$ python passgen.py -n 10 -o _%3d_%2s%l -w test --various |
همانطور که پیشتر کفته شد سوئیچ n- در مثال بالا برای شما به تعداد ۱۰ پسورد را تولید میکند. همچنین از سوئیچ o- برای دادن الگوی مورد نظر خود میتوانید استفاده کنید.
- _: کاراکتر آندرلاین در این بخش بدین معناست که عبارتی را که به سوئیچ w- داده اید را جایگزین کنید.
- various–: این سوئیچ نیز بدین معناست که به صورت تصادفی حروف کلمه مورد نظر که به سوئیچ w- داده شده است میتواند به صورت تلفیقی از حروف کوچک و بزرگ آورده شود. اگر از این سوئیچ استفاده نشود به جای کاراکتر _ که در الگو آورده شده است دقیقا عبارتی مینشیند که به سوئیچ w- داده شده است.
یکی دیگر از قابلیت های این اسکریپت تولید شماره تلفن ها با الگوی مورد نظر شماست. این کار نیز با استفاده از سوئیچ o- قابل پیاده سازی خواهد بود:
1 |
lsc@arshatech:~$ python passgen.py -n 10 -o _%7d -w 0912 -f output.txt -v |
- f-: شما میتوانید با این سوئیچ خروجی های خود را در یک فایل ذخیره نمائید.
- v-: هرگاه بخواهید خروجی برنامه را در یک فایل ذخیره کنید اگر از سوئیچ v- استفاده نکنید در ترمینال چیزی برای شما به نمایش در نمی آید. اما مثالی که در بالا آورده شده است بعلت استفاده از این سوئیچ، خروجی در ترمینال قابل مشاهده است.
اگر مجددا اسکریپت را با سوئیچ f- و همان فایل قبل (در اینجا output.txt) به اجرا در بیاورید برنامه از شما سوالی بابت رفتار برنامه با فایل میپرسد.
1 |
lsc@arshatech:~$ python passgen.py -n 10 -o %3s%1l_%3d -w pass -f output.txt -v --various |
در سوالی که پرسیده میشود شما میتوانید چند پاسخ به آن بدهید:
- a: این کاراکتر به برنامه میگوید خروجی جدید را به خروجی قبل در فایل output.txt اضافه کن.
- w: این کاراکتر به برنامه میگوید خروجی قبلی را پاک و خروجی جدید را در فایل ذخیره کن.
- r: این کاراکتر بیانگر پاک کردن خروجی های قبلی و خارج شدن از برنامه است.
- q: این کاراکتر موجب میشود بدون هیچ تغییری از برنامه خارج شوید.
یکی دیگر از قابلیت های این اسکریپت قابلیت جایگزینیست. به این معنا که شما میتوانید یک عبارت را با الگوی مورد نظر خود جایگزین نمائید:
1 |
lsc@arshatech:~$ python passgen.py -n 10 -r "thi? is t?s?" -p upper |
- r-: این سوئیج میتواند یک کلمه یا یک جمله باشد و هر جای آن که علامت ? وجود داشته باشد با الگوی داده شده به صورت تصادفی پر میشود. بعنوان مثال در این بخش الگو upper می باشد. بدان معنا که با حروف بزرگ جایگزین خواهد شد.