PDA

View Full Version : كسي از اين كد چيزي سر در مياره ؟



amirpoor
شنبه 21 فروردین 1389, 23:05 عصر
با سلام

از اساتيد و اعضا گل فروم كسي از اين كد سر در مياره ؟

چجوري به اين صورت كد كردن و چجوري از كد خارج ميشه ؟

اين كد پايين اصلا چه معني مي ده ؟


function hashish( $input )
{
$salt = "fdhDHJFdfjs8649cjkAHIEU2498jfkdxdvxdlldjspZ4BqZk";
$result = sha1( md5( $input.$salt ).$salt );
return $result;
}

Mohammadrezag
شنبه 21 فروردین 1389, 23:34 عصر
اين كد قابل ديكد شدن نيست !

funpatogh
شنبه 21 فروردین 1389, 23:36 عصر
sha1 یک فانکشن هست که هر چی بهش بدی تبدیل به یک رمز 40 کاراکتری میکنش
این کد شما هم یک فانکش هست که هر چی بهش بدی با $salt ترکیب میکنه بعد به رمز md5 در میاد و دوباره با متغییر salt ترکیب میشه و در آخر این دوباره به رمز 40 کاراکتری در میاد و return میکنش
خلاصه یک کد کننده خیلی امن هست

mohsenshahab
یک شنبه 22 فروردین 1389, 01:24 صبح
اگه یه ()rand هم بچپونی وسطش حسابی امن میشه

Mohammadrezag
یک شنبه 22 فروردین 1389, 01:29 صبح
اگه یه ()rand هم بچپونی وسطش حسابی امن میشه

اونوقت ، ديگه نمي شه لاگين كرد

mohsenshahab
یک شنبه 22 فروردین 1389, 01:32 صبح
ها؟؟
قل مراد گریه می کنه (راست میگیا حواسم نبود)

amirpoor
یک شنبه 22 فروردین 1389, 06:29 صبح
sha1 یک فانکشن هست که هر چی بهش بدی تبدیل به یک رمز 40 کاراکتری میکنش
این کد شما هم یک فانکش هست که هر چی بهش بدی با $salt ترکیب میکنه بعد به رمز md5 در میاد و دوباره با متغییر salt ترکیب میشه و در آخر این دوباره به رمز 40 کاراکتری در میاد و return میکنش
خلاصه یک کد کننده خیلی امن هست

دوست عزيز چجوري ميشه اين كار رو كرد

منظور من اينه كه من يه كلمه دارم بايد چي كاري انجام بدم تا با salt$ تركيب شه و بعد به رمز

md5 در بياد و دوباره با salt تركيب بشه و در آخر رمز رو بده ؟

نكته : رمزي كه در بالا داده 48 كاراكتريه نه 40 كاراكتر !!!

با تشكر

amirpoor
یک شنبه 22 فروردین 1389, 19:49 عصر
منتظر پاسخ دوستان هستم ...

امیـرحسین
یک شنبه 22 فروردین 1389, 20:17 عصر
کافیه تابعی که معرفی کردید رو اجرا کنید:
echo hashish("Amir Hossein");
function hashish( $input )
{
$salt = "fdhDHJFdfjs8649cjkAHIEU2498jfkdxdvxdlldjspZ4BqZk";
$result = sha1( md5( $input.$salt ).$salt );
return $result;
}
رمزی که تولید میشه 40 کاراکتری خواهد بود. اون salt صرفا یک کلمه بی مفهومه که با کلمه ورودی ادغام شه و ناخوانی بیشتری ایجاد کنه.

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

amirpoor
یک شنبه 22 فروردین 1389, 20:54 عصر
سلام دوست عزيز

از پاسخ شما متشكرم

اما هنوز يه مسئله واسم گيج كنندس

بر فرض در قسمت hashish جاي اسم نام دومين رو قرار دهيم

وقتي كه كد را اجرا كنيم كد 40 كاراكتري به ما خواهد داد

اما قسمتي كه من رو گيج كرده salt هستش كه به چه صورت

كد به صورت 48 كاراكتري در اومده

خواهشمندم در اين زمينه راهنمايي فرماييد

با تشكر از شما :قلب:

امیـرحسین
دوشنبه 23 فروردین 1389, 01:09 صبح
ببینید. به این سایت برید: http://tools.web-max.ca/encode_decode.php
در فیلد موجود در صفحه، کلمه admin رو تایپ کنید و روی دکمه MD5 hash کلیک کنید. به شما md5 کلمه admin رو میده. این مقدار رو کپی کنید.
حالا به این آدرس برید: http://md5.web-max.ca/
اون md5 که داشتید رو در فیلد این صفحه وارد کنید و دکمه MD5 hash decode رو بزنید. به شما کلمه admin رو میده.
این سایت همونجوری که گفتم یک دیتابیس داره از کلمات رایج و هر کلمه ای که در آدرس اول کد می کنید رو هم ذخیره می کنه وقتی شما کلمه ساده ای رو md5 می کنید، توسط این سایت و سایتهای موجود قابل بازگردانیه ولی وقتی این کلمه رو بهم بریزیم، با کاراکترهای الکی و نامفهوم ادغام کنیم، دیگه کلمه ساده ای نیست که در دیتابیس اونها ثبت شده باشه پس قابل بازگردانی نیست.
اون salt صرفا یه سری کاراکتر نامفهومه که کلمه ما رو بیشتر بی معنی کنه تا از سادگی دربیاد و اگر روزی اطلاعات دیتابیس دست کسی افتاد، نتونه با decoderهای موجود، رمز رو کشف کنه.
خلاصه اون salt کار خاصی نمی کنه و برنامه نویس تعیینش می کنه. هرچیزی میتونید جاش بذارید.

amirpoor
دوشنبه 23 فروردین 1389, 08:45 صبح
با تشكر از پاسخ شما

اگر بخواهيم مقدار Salt رو غير فعال كنيم بايد چي كار كنيم ؟

amirpoor
دوشنبه 23 فروردین 1389, 19:31 عصر
.:: منتظر پاسخ دوستان عزيز ::.

amirpoor
سه شنبه 24 فروردین 1389, 19:09 عصر
.::. همچنان منتظر پاسخ دوستان عزيز .::.

amirpoor
چهارشنبه 01 اردیبهشت 1389, 08:27 صبح
== همچنان منتظر پاسخ دوستان ==

Reza1607
چهارشنبه 01 اردیبهشت 1389, 09:19 صبح
خوب Salt رو حذف کن
کد زیر رو

$salt = "fdhDHJFdfjs8649cjkAHIEU2498jfkdxdvxdlldjspZ4BqZk" ;
$result = sha1( md5( $input.$salt ).$salt );
به

$result = sha1( md5( $input.$salt ));
تغییر بده

amirpoor
چهارشنبه 01 اردیبهشت 1389, 09:53 صبح
خب اينجوري كه بازم مي خواد salt رو چك كنه !!! $input.$salt

Reza1607
چهارشنبه 01 اردیبهشت 1389, 10:01 صبح
خب اينجوري كه بازم مي خواد salt رو چك كنه !!! $input.$salt

شرمنده اصلا حواسم نبود

$result = sha1( md5( $input ));
این روش فقط رشته شما رو با md5 تبدیل به یک رشته 32 کاراکتری تبدیل با با استفاده از تابع sha1 به یک رشته 40 کارکتری تبدیل می کنه

iner30
جمعه 03 اردیبهشت 1389, 12:12 عصر
دوستان ممنون از این کدتون
فقط برای تاکید یه سوال میپرسم : مقدار $salt هرچیزی میتونه باشه دیگه؟

امیـرحسین
جمعه 03 اردیبهشت 1389, 23:25 عصر
اگر پستهای همین تاپیک رو یکبار دیگه مطالعه کنید، کاملا درک می کنید این کارها و متغیرها برای چیه....


اون salt صرفا یه سری کاراکتر نامفهومه که کلمه ما رو بیشتر بی معنی کنه تا از سادگی دربیاد و اگر روزی اطلاعات دیتابیس دست کسی افتاد، نتونه با decoderهای موجود، رمز رو کشف کنه.
خلاصه اون salt کار خاصی نمی کنه و برنامه نویس تعیینش می کنه. هرچیزی میتونید جاش بذارید.