ورود

View Full Version : برنامه ساخت پسورد



s7004u
جمعه 26 اسفند 1390, 18:57 عصر
با سلام دوستان
من میخام یک برنامه ای بنویسم که پسورد لیست بسازه ،میخام برنامم یه جوری باشه که حروفی را که میخایم باهاش پسورد درست کنیم و طول رشته رو بهش بدیم و هر تعداد پسورد که میشه ساخت رو بده و بشه save کرد.
مثلا برنامه کل پسورد های 5 حرفی که با حروفی که بهش دادیم میشه ساخت را چاپ کنه.

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

سید حمید حق پرست
جمعه 26 اسفند 1390, 19:12 عصر
سلام
ببین این همونه که میخواستی؟

موفق باشی


یا علی (ع)

بهروز عباسی
جمعه 26 اسفند 1390, 21:08 عصر
مشکلم اینجایه که نمیدونم الگوریتم این برنامه چجوریه و از چه حلقه هایی و کجا باید استفاده کرد
اگه کسی میدونه لطفا کمکم کنید
اینم یک تابع ساده و قابل تغییر برای ساختن پسورد :
Private Function random() As String
Randomize Time
For i = 1 To 20
random = random & Chr((Int((Asc(9) - Asc(0) + 1) * Rnd + Asc(0))))
Next
End Function
'
Private Sub Form_Load()
Caption = ""
Caption = random
End Sub

s7004u
جمعه 26 اسفند 1390, 21:23 عصر
از توجه و همکاریتون ممنون دوستان

من می خواهم تمام حالت های ممکن رو بده نه یه پسورد هاتفاقی تولید کنه لذا این سورس و برنامه به کار نمیاد
ممنون

بهروز عباسی
جمعه 26 اسفند 1390, 21:29 عصر
من می خواهم تمام حالت های ممکن رو بده
یعنی میخوای با شرایط خاصی پسورد تولیدکنی؟
منظورت از تمام حالت های موجود چیه؟
کمی بیشتر درباره برنامت توضیح بده؟

بهروز عباسی
جمعه 26 اسفند 1390, 21:43 عصر
اینو امتحان کن
'module
Public Function CreateNewName() As String
Dim Consonnants As String
Dim Vowels As String
Dim I As Integer
Dim Name As String

Randomize Timer
Consonnants = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ0123456789" '
Vowels = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

Do
For I = 1 To Rnd * 2 + 1
Name = Name & Mid$(Consonnants, Rnd * Len(Consonnants) + 1, 1) & Mid$(Vowels, Rnd * (Len(Vowels) - 1) + 1, 1)
Next I
Loop Until Len(Name) > 2

If Len(Name) = 3 And Int(Rnd * 3) = 0 Then Name = Name & Name
If Len(Name) = 3 And Int(Rnd * 3) = 0 Then Name = Mid$(Name, 3, 1) & Mid$(Name, 2, 1) & Name
Name = UCase(Left$(Name, 1)) + Trim$(Mid$(Name, 2))
If Len(Name) > 4 And Int(Rnd * 3) = 0 Then Name = Left$(Name, Len(Name) - 1)
I = Int(Rnd * 3)
If Len(Name) > 4 And Int(Rnd * 15) = 0 Then Name = Left$(Name, 1 + I) & "-" & Mid$(Name, 3 + I)
If Len(Name) < 7 And Int(Rnd * 15) = 0 Then Name = Name & Mid$(" Jr. Sr.ssonson boy girlman manndude2000 2.0oo #1 ", Int(Rnd * 13) * 4 + 1, 4)
If Len(Name) < 7 And Int(Rnd * 15) = 0 Then Name = Trim$(Mid$("Dr. Mr. Ms. Joe ", Int(Rnd * 4) * 4 + 1, 4)) & " " & Name
CreateNewName = Trim$(Name)
End Function
' main form Timer
Private Sub Timer1_Timer()
List1.AddItem CreateNewName()
End Sub

s7004u
جمعه 26 اسفند 1390, 22:08 عصر
یعنی میخوای با شرایط خاصی پسورد تولیدکنی؟
منظورت از تمام حالت های موجود چیه؟
کمی بیشتر درباره برنامت توضیح بده؟

ببینین منظورم اینه که بتونه مثلا همه اعدادی رو که با 3عدد (123) میشه ساخت رو تولید کنه : 123,321,132,231,312,213

تازه این بدونه تکرارش بود که گقتم.
می خوام pass list بسازه .

سید حمید حق پرست
شنبه 27 اسفند 1390, 04:16 صبح
ببینین منظورم اینه که بتونه مثلا همه اعدادی رو که با 3عدد (123) میشه ساخت رو تولید کنه : 123,321,132,231,312,213

تازه این بدونه تکرارش بود که گقتم.
می خوام pass list بسازه .

اونجور که من متوجه شدم اینکارو برای بدست اورد پسورد یه برنامه یا یه فایل میخوای انجام بدی . درسته ؟

موفق باشی


یا علی (ع)

setroyd
شنبه 27 اسفند 1390, 11:09 صبح
اینی که شما میخوای نیاز به یک فرمول داره تا اعداد رو این کارو بکنه ولی برای رشته فکر نکنم جواب بده شما چیزی اینجا میخوای که نیاز به یک فرمول نویسیه اگر میخوای passsword رو بیای پک کنی بهتره از for های تو در تو استفاده کنی که یکی از دوستان برنامه ای نوشتن که passsword ویندوز رو پیدا میکنه با دیدن کد اون شاید بهتر بفهمید . اگرهم کارتون password maker هست که همون کدهای بالا مناسبن .

s7004u
شنبه 27 اسفند 1390, 12:12 عصر
اونجور که من متوجه شدم اینکارو برای بدست اورد پسورد یه برنامه یا یه فایل میخوای انجام بدی . درسته ؟

موفق باشی


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

setroyd
یک شنبه 28 اسفند 1390, 11:06 صبح
پس شما فرمول رو بگیر بزار اینجا تا به صورت vb برات پیاده کنیم البته میشه کرد ولی ادم حوصله نداره بشینه زمان وقت این برنامه کنه پس فرمول رو خودت بزار برنامه رو میشه نوشت .

MohammadGh2011
یک شنبه 28 اسفند 1390, 11:25 صبح
به نظر من فکر کنم از فرمول هاي ترکيبات و فاکتوريل بايد استفاده بشه