PDA

View Full Version : الگوریتم تولید پسورد



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

مهدی کرامتی
دوشنبه 27 تیر 1384, 14:39 عصر
پیشنهاد من اینه که به تعداد مورد نظر عدد تصادفی ایجاد کنی، اونها رو به String تبدیل کنی، MD5 Hash شون رو بگیری و 8 کاراکتر اولشون رو جدا کنی.

برای کسب اطلاعات بیشتر درباره MD5 Hash و نحوه استفاده از آن در دلفی در همین بخش کلمه MD5 را جستجو کن.

MM_Mofidi
دوشنبه 27 تیر 1384, 16:17 عصر
تضمین غیر تکراری بودن؟

Tarrah
دوشنبه 27 تیر 1384, 17:19 عصر
MD5 رو قبلا از خود شما یادگرفتم(ممنون) ولی فکر می کنم حق با آقای مفیدی باشه و با این روش پسوردهای تکراری داشته باشیم . برا تولید تصادفی اعداد هم تابع random و randomize رو پیشنهاد می کنید؟با این توابع اگه بخوام مقدار تصادفی بین دو عدد دلخاهو ونه یه عدد دلخواه و صفر رو به دست بیارم باید چی کار کنم ؟

MM_Mofidi
چهارشنبه 29 تیر 1384, 15:53 عصر
من پیشنهاد میکنم برای هر کدام هشت عدد تصادفی ایجاد کنی(در حوزه کد اسکی یا یونیکد) بعد معادل هرکدام را بدست آورده و پشت هم بچینی البته احتمالا یکم کند باشد.

manuchehr
سه شنبه 04 مرداد 1384, 07:42 صبح
آقای Tarrah:
برای تولید عدد تصادفی x که: a<=x<=b
می توانید بنویسید:
;randomize
x:= a+ random(b-a+1)

Tarrah
چهارشنبه 12 مرداد 1384, 19:23 عصر
خیلی خیلی ممنون

mnajafi
چهارشنبه 12 مرداد 1384, 20:31 عصر
سلام دوستان .من یک روش جالب در طراحی پسورد در کارتهای ebl دیدم .که در اون یک آرایه 3*10
با کاراکترهای ثابت در نظر گرفته.که در هر بار login بصورت تصادفی چند خانه از آرایه رو از شما می پرسه .در این روش احتمال لو رفتن رمز و برخی خطرات دیگه تقریبا" وجود نداره.

tanha_tarin
دوشنبه 25 آذر 1387, 21:18 عصر
با سلام اگر میشه گذاشتن پسورد را به وسیله زبان برنامه نویسی c برای برای گرافیک توضیح بدهید میدانم به وسیله آرایه میشه ولی بلد نیستم اگر میشه بیشتر توضیح دهیدباتشکر

linux
دوشنبه 25 آذر 1387, 22:47 عصر
private string CreatePassword()
{
string passwd = string.Empty;
Random rnd = new Random();
for (int i = 1; i <= 8; i++)
{
int DigiStr = rnd.Next(0, 3);
//generate a number between 0-9
if (DigiStr == 0)
passwd += (char)rnd.Next(48, 58);
if (DigiStr == 1)
passwd += (char)rnd.Next(65, 91);
if (DigiStr == 2)
passwd += (char)rnd.Next(97, 123);
}
System.Threading.Thread.Sleep(5);
return passwd;
}

mdd_2007
جمعه 11 دی 1388, 21:41 عصر
function rnd_string($len = 24)
{
$str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN OPQRSTUVWXYZ";
$result = '';
for ($i = 0; $i<$len; $i++)
$result.= $str[rand ( 0, strlen ( $str ) - 1 )];
return $result;
}

این یک کد تصادفی مطمئنی ایجاد میکنه (به زبان php)