discord icon
سرور دیسکورد گاردایران
Zubeid

ساخت پسورد قوی در 1 ثانیه

پست های پیشنهاد شده

سلام

بعضیا نمیوتنن یا وسواسن به پسوردی که دارن و نمیدونن چه پسوردی انتخاب کنن.

این ابزار میتونه چنتا پسورد درهمبرهم و پیچیده براتون درست کنه.

شما فقط اون رو اجرا میکنید

 

pyrhon pass.py

 

pass.py

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من از زحماتی که برای تیم می کشید خیلی خیلی ممنونم.

ابزار خیلی خوبی نوشتید.

خیلی هم کاربرد داره.

 

فقط اگه مشکلی نیست من چندتا ایراد بگیرم.

نحوه نوشتن فایل خیلی ضعیفه.

شما می تونستید از ماژول ها ... کاربردی استفاده کنید.

من از وقتی برنامه می نویسم تا به حال ندیدم کسی اینطور خط به خط و ... برنامه نوشته باشه و طراحی به این ضعیفی داشته باشه.

 

اگه آموزشتون تموم نشده، بزارید کامل بشه و با همه چیز آشنا بشید بعد ابزار بسازید.

اگر هم شده، خب باید بگم بیشتر دقت کنید تا اینطور برنامه ننویسید.

 

چون اینطور هم کار خودتون سخت میشه هم بقیه فایل رو به سخره می گیرند.

 

در کمال ناباوری شما در یک فایل 18 بار random را ایمپورت کردید!!

 

هرچی می خواهید ایمپورت کنید رو اول برنامه بزارید هر وقت هم نیاز بود فرا بخوندینشون.

 

در حقیقت کد های زیر رو نوشتید و ازش 18 بار کپی گرفتید و شده این.

import random
   
lower = "qwertyuiopas dfghjklzxcvbnm"

upper = "ZXCVBNMASD FGHJKLQWERTYUIOP"

numbers = "1234567890"


all1 = lower + upper + numbers

length = 20

password1 = "".join(random.sample(all1, length))

print(password1)

 

خب این چه کاریه

بزاریدش تو یه حلقه و بگید 18 بار برگردونتش

 

امید وارم فهمیده باشید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

چطور 

در ۱ ساعت قبل، SRX گفته است :

سلام

من از زحماتی که برای تیم می کشید خیلی خیلی ممنونم.

ابزار خیلی خوبی نوشتید.

خیلی هم کاربرد داره.

 

فقط اگه مشکلی نیست من چندتا ایراد بگیرم.

نحوه نوشتن فایل خیلی ضعیفه.

شما می تونستید از ماژول ها ... کاربردی استفاده کنید.

من از وقتی برنامه می نویسم تا به حال ندیدم کسی اینطور خط به خط و ... برنامه بنویسه.

 

اگه آموزشتون تموم نشده، بزارید کامل بشه و با همه چیز آشنا بشید بعد ابزار بسازید.

اگر هم شده، خب باید بگم بیشتر دقت کنید تا اینطور برنامه ننویسید.

 

چون اینطور هم کار خودتون سخت میشه هم بقیه فایل رو به سخره می گیرند.

 

در کمال ناباوری شما در یک فایل 18 بار random را ایمپورت کردید!!

 

هرچی می خواهید ایمپورت کنید رو اول برنامه بزارید هر وقت هم نیاز بود فرا بخوندینشون.

 

در حقیقت کد های زیر رو نوشتید و ازش 18 بار کپی گرفتید و شده این.


import random
   
lower = "qwertyuiopas dfghjklzxcvbnm"

upper = "ZXCVBNMASD FGHJKLQWERTYUIOP"

numbers = "1234567890"


all1 = lower + upper + numbers

length = 20

password1 = "".join(random.sample(all1, length))

print(password1)

 

خب اینچه کاریه

بزاریدش تو یه حلقه و بگید 18 بار برگردونتش

 

امید وارم فهمیده باشید.

چطور بزارمش ت حلقه؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 11 ساعت قبل، Zubeid گفته است :

چطور بزارمش ت حلقه؟

سلام

برنامه شما 300 تا لاین شد!!

 

به این کد ها نگاه کنید:

import random
i = 0
length = 20
lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWQYZ"
numbers = "0123456789"
while True:
    if i <= 18:
        all1 = lower + upper + numbers
        password1 = "".join(random.sample(all1, length))
        print(password1)
        i += 1
    else:
        break;

 

این چند خط کد کار 300 خط کد شما رو می کنه.

حالا باز من یه مقدار باز نوشتم تا قابل فهم باشه.

 

اول اومدم یه متغیر با نام "i" تعریف کردم و مقدارش رو گذاشتم صفر

بعدش اومدم تو حلقه while یه شرط گذاشتم و گفتم تا وقتی "i" کوچکتر یا مساوی 18 بود ،اون کار رو انجام بده.

اگر هم به اون آخر توجه کنید گفتم بعد از هر بار انجام شدن کار به متغیر "i"  یکی اضافه کنه.  (اینو میگم چون شاید ندونید، وقتی میگم i+=1 یعنی i = i + 1)

و در آخر گفتم اگر این شرط به پایان رسید حلقه رو بشکنه.

 

می تونید به جای else یه elif بزارید و شرط جدید ایجاد کنید و بگید که اگر عدد بزرگتر از 18 شد حلقه رو بشکنه، مثل مثال زیر:

import random
i = 0
length = 20
lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWQYZ"
numbers = "0123456789"
while True:
    if i <= 18:
        all1 = lower + upper + numbers
        password1 = "".join(random.sample(all1, length))
        print(password1)
        i += 1
    elif i > 18:
        break;

شما 18 بار  کتابخانه random رو فراخوانی کردید! یه بار کافیه.

 

مورد آخری که باید بگم هم اینه که در متغیر های lower , upper ، در هر دو اسپیس رو گذاشه بودید، در مورد این باید دونکته رو بگم، 1- معمولا در پسورد ها از اسپیس استفاده نمیشه، 2- در یه همچین جاهایی نباید احتمال اومدن یه چیز رو دو بزارید تا رمز کاملا تصادفی ایجاد بشه.

 

موفق باشید🌹

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزیز

همونجور که @SRX گفتند سعی کنید آموزش ها رو تا انتها ببینید‌، سپس شروع به ساختن ابزار کنید.

 

 

من سعی میکنم قدم به قدم این برنامه رو بهتر کنم و بهت توضیح بدم.

 

در تمام برنامه شما، چند خط کد زیر تکرار شده اند:

import random
   
lower = "qwertyuiopas dfghjklzxcvbnm"

upper = "ZXCVBNMASD FGHJKLQWERTYUIOP"

numbers = "1234567890"


all1 = lower + upper + numbers

length = 20

password1 = "".join(random.sample(all1, length))

print(password1)

کد تکراری جایی در برنامه نداره پس با بقیه کدها کاری نداریم!

 

خب خط به خط پیش میریم...

در خط اول ماژول random ایمپورت شده، ماژول ها فقط یک بار و ابتدای برنامه باید ایمپورت شوند.

در چند خط بعدی متغیرهای lower و upper تعریف شده اند که حروف کوچک و بزرگ الفبای انگلیسی رو نگه میدارند.

برای نوشتن اینجور متغیرها بهتر هست که به ترتیب حروف الفبا نوشته بشه که حرفی جا نیوفته.

 

پس متغیرهای lower و upper را به صورت زیر تعریف می کنیم.

lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

 

به جای نوشتن all1 میشه از اسم با مفهوم تری مثل all_chars به معنای همه کاراکترها استفاده کرد.

و به جای password1 هم از password استفاده می کنیم.

 

بعد از انجام دادن مراحل بالا به کد زیر می رسیم.

import random
   
lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
numbers = "1234567890"

all_chars = lower + upper + numbers

length = 20

password = "".join(random.sample(all_chars, length))

print(password)

 

برای اینکه یک کد را چند بار اجرا کنیم نیازی نیست که چند بار بنویسمش فقط کافیه از حلقه ها استفاده کنیم.

حالا برای اینکه چند پسورد بسازیم دو خط آخر کد را داخل حلقه می گذاریم.

...

for i in range(n):
	password = "".join(random.sample(all_chars, length))
	print(password)

کافی است عدد دلخواه را به جای n قرار دهیم تا کد داخل حلقه n بار اجرا شود.

 

کد زیر ۱۰ پسورد ساخته و در خروجی چاپ می کند.

import random
   
lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
numbers = "1234567890"

all_chars = lower + upper + numbers

length = 20

for i in range(10):
	password = "".join(random.sample(all_chars, length))
	print(password)

 

البته این برنامه هنوز کامل نیست و به بهترین روش نوشته نشده است، مثلا میتوان این برنامه را داخل تابع قرار داد و پسورد را با طول های دیگر یا با کاراکتر های دیگر که ورودی تابع هستند، ساخت.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

این پست رو می فرستم تا از بروز یه دعوا جلوگیری بشه!!

 

وقتی من پستم رو گذاشتم بعد 3 ثانیه پست دوست خوبم @KR0N0S منتشر شد.

یعنی نه من می دونستم ایشون دارن جواب میدن نه ایشون می دونستند من دارم پست می فرستم.

و تقریبا همزمان پست رو ارسال کردیم ولی مال من یه چند ثانیه زودتر اومد.

 

و اتفاقا خیلی هم خوب شد.

چون اینطور @Zubeid می تونه با دو نوع حلقه آشنا بشه.

من با while نوشتم و ایشون با for.

و باید بگم ایشون بهتر از من توضیح دادن و قدم به قدم جلو رفتن و برای هر کاری که کردن یه توضیحی دادن.

همین طور دوست خوبم @mmj-sys در پست پایین از تابع لامبدا استفاده کردن. اینم پیشنهاد خوبیه.

 

یه بار این اتفاق افتاد و افرادی که نمی دونستند قضیه چیه تذکر دادن و یه دعوای کوچیکی شروع شد که الحمدلله زود خاتمه پیدا کرد.

 خواستم قبل از شروع هر جنجالی بهش خاتمه بدم تا مشکلی پیش نیاد.

 

موفق باشید🌷🌺

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خب این کار رو میتونید با کد زیر هم انجام بدید

import random 
lower = "abcdefghijklmnopqrstuvwxyz" 
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
numbers = "1234567890" 
 
all_chars = lower + upper + numbers 
 
length = 20 
password = lambda:"".join(random.sample(all_chars, length))  
for i in range(10): 
    print(password()) 

 

با کلمه lambda میتونید مثل def تابع بسازید اما یکم جمع و جور تر lambda ها اصولا برای کد های یک بار مصرف ساخته میشن ولی میتونید اونها رو توی یک متغیر بریزید و چند بار استفاده کنید

و ورودی ها رو هم مثل زیر میشه گرفت

y = 2
lam = lambda x : x * x
lam(y)

 

 

امید وارم کمکی شده باشه در یادگیری شما

اگر علاقه به فعالیت حرفه ای دارید پیشنهاد میکنم کتاب کد تمیز رو بخونید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری