PDA

View Full Version : تولید 1000 پسورد به صورت تصادفي



Tarrah
دوشنبه 27 تیر 1384, 14:22 عصر
سلام
می خوام موقع زدن یه button به تعداد 1000 تا پسورد تصادفی (رندومی ) غیر تکراری تولید و تو بانگ ذخیره کنم.پیشنهادتون برا الگوریتم چیه؟در ضمن پسورد ها باید مخلوط اعداد و کاراکترها باشند و هر کدوم 8 حرفی باشند .

Hamid_PaK
سه شنبه 28 تیر 1384, 04:56 صبح
سادست ولی همیشه این نوع برنامه ها یک ساختمان پایه دارند که از روی این ساختمان کدهای دیگر رو می سازند ...

بیا ساختمان پایه رو بر اساس اعدادی بین 1000 تا 9999 قرار بده و از این اعداد کدهای اصلی رو بساز ...

موفق باشید .

Tarrah
سه شنبه 28 تیر 1384, 06:55 صبح
آقا حمید می شه یه مقدار بیشتر توضیح بدین .سر در نیاوردم .

technic
سه شنبه 28 تیر 1384, 10:12 صبح
می توانی کدموردنظر رادر سایت زیر پیداکنید:
http://www.swissdelphicenter.ch

javad_hosseiny
سه شنبه 28 تیر 1384, 10:14 صبح
البته پیشنهاد دوستم هم خوب است
ولی بهتر این است که شما از یک رنج کد اسکی برای تولید پسورد استفاده کنید
خوب برای تعداد پسورد که از یک حلقه استفاده کنید (مثلا از 1 تا 1000)
و برای تولید کاراکترهای این پسورد از یک تابعی استفاده کنید که مثلا به تعداد دلخواه طول رشته پسورد را تعیین کرده و سپس به تعداد کاراکترهای تعیین شده تابع رندوم صدا زده شود (و محدوده خروجی عدد این تابع رندوم را بین مثلا کدهای 33 تا 127 قرار دهید (رنجی از اعداد و حروف کوچک و بزرگ) ) خروجی تابع اول یک رشته با تعداد کاراکتر تصادفی می شود که خود یک پسورد کاملا تصادفی می باشد (بنده از این الگوریتم برای نرم افزار تولید یوزر و پسورد برای کارتهای اینترنتی استفاده کرده ام و چیز خوبی از آب دراومد)

نکته: البته با تغییر الگوریتم می توانید مثلا اسم یا عبارتی را بصورت الزامی در ابتدا یوز و یا پسورد موردنظر خود اضافه کنید

javad_hosseiny
پنج شنبه 30 تیر 1384, 11:17 صبح
شرمنده به علت اینکه الان روی سیستمم دلفی نبود با توربوپاسکال کدنویسی کردم (البته به راحتی قابل خواندن در دلفی هست)


program create_password;
const tool= 10;
count=50;
var i,j: integer;
pass: string;
begin
Randomize;
{48: 0 ...... 121: z}
for i:= 1 to count do
begin
pass:= '';
for j:= 1 to tool do
begin
pass := pass + chr(Random(73)+48); {between(48,121)}
end;
writeln('pass number ',i,' = ',pass);
end;

end.