• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کد کردن اطلاعات
#1
سلام ... من یکسری مطلب در مورد hash کردن اطلاعات یا پسورد و ایتور چیز های تو اینترنت خوندم و حتی تو همین سایت یک کد نوشتم خودم ... میخواستم ببینم این کد من از نظر امنیتی خوب هست مشکلی داره یا نه ؟ ممنون:
کد پی‌اچ‌پی:
    function text_encoder($inp){
        
$temp '' ;
        for(
$cnt=0;$cnt<strlen($inp);$cnt++){
            
$temp .= ord(substr($inp,$cnt,1)) + 500;
        }
        return 
$temp;
    }

    
$cnt=0;

    function 
text_decoder($inp){
        
$temp='';
        for(
$cnt=0;$cnt<strlen($inp);$cnt+=3){
            
$temp .= chr(substr($inp,$cnt,3)-500);
        }
        return 
$temp;
    } 
در انتها خودم یک عددی رو بهش دادم که جمع کنه اون هم میتونه عوض بشه ... این کد من هم decode میکنه هم encode بیشتر برای فرستادن اطلاعات با GET این تابع رو نوشتم حالا میخوام بدونم برای ذخیره در بانک هم خوب هست ؟ امن هست ؟
  پاسخ
تشکر شده توسط :
#2
دوستان کسی جواب نمیده
  پاسخ
تشکر شده توسط :
#3
این روش اصلا امن نیست . برای پسورد و امثالش چون قرار نیست دیکد بشن بهتره از
http://ir2.php.net/password استفاده کنی
و برای اطلاعاتی که قراره دیکد هم بشن از الگوریتم های قابل بازگشت مثل بلوفیش استفاده کنی
http://ir2.php.net/manual/en/intro.mcrypt.php
  پاسخ
تشکر شده توسط : barnamenevis
#4
من این کد رو نوشته بودم برای اطلاعاتی که با get میخواستم بفرستم ''' اما باز من اینو متوجه نشدم که کسی که قصد هک داره از کجا میتونه این اطلاعات رو متوجه بشه چون من یه اسکریپت منحصر به فرد نوشتم و مثلا مقداری که به اخرش هم اضافه میکنم دست خودم هست اون هکر این الگوریتم رو از کجا میخواد بفهمه میخواستم در مورد امن نبودنش بیشتر برام توضیح بدین
  پاسخ
تشکر شده توسط :
#5
(۱۳۹۲ اسفند ۰۱, ۰۲:۲۴ ق.ظ)kiarash_kcm نوشته: من یه اسکریپت منحصر به فرد نوشتم و مثلا مقداری که به اخرش هم اضافه میکنم دست خودم هست اون هکر این الگوریتم رو از کجا میخواد بفهمه میخواستم در مورد امن نبودنش بیشتر برام توضیح بدین
یک سیستم حرفه ای با امنیت بالا اونیه که بر پنهان بودن و پنهان ماندن الگوریتم تکیه نکنه.
بنیاد امنیت/رمزنگاری حرفه ای باید بر محرمانگی کلید استوار باشه، نه محرمانگی الگوریتم.
این مقاله رو مطالعه کنید: http://www.hamidreza-mz.tk/?p=461

توضیح بیشتر اینکه همیشه در زمینهء رمزنگاری توصیه میشه که از اختراع و استفاده الگوریتم های شخصی بخصوص از جانب افراد غیرمتخصص، اجتناب بشه. یک دلیلش اینه که اشتباهات فاحش در این زمینه خیلی راحت و متداول هست.
وقتی شما یک کد و الگوریتم معمولی (نامربوط به رمزنگاری) رو مینویسید، اگر نادرست باشه معمولا کار نمیکنه و خلاصه نشانه ای داره که شما متوجه میشید و میتونید درستش کنید، ولی در زمینهء رمزنگاری اینطور نیست و کد کار میکنه و در ظاهر هم مشکلی نیست اما در باطنش ممکنه یک حفرهء بزرگ داشته باشه. معمولا افراد خودشون نمیتونن متوجه تمام این حفره ها و ضعف ها بشن؛ بخصوص اگر دانش و بینش لازم در علم رمزنگاری رو نداشته باشن.

البته بنده میدونم که بیشتر افراد مبتدی دانش و مهارت لازم برای استفاده از الگوریتم ها و روشهای استاندارد رو هم ندارن، و این یک دلیل اینه که فکر میکنن اگر الگوریتم رو خودشون طراحی کنن راحتتر و سریعتره.
اما بهرحال شما عمرا نمیتونید الگوریتمی که امنیتش حتی نزدیک به امنیت الگوریتم های مدرن استاندارد و حرفه ای باشه طراحی کنید. اینو مطمئن باشید! و در کنارش احتمال اینکه در الگوریتم و روش شما اشتباهات فاحش رخ بده خیلی زیاده.
برای تامین واقعی امنیت در سطح بالا و حرفه ای، باید دانش و مهارت تخصصی لازم در رشتهء امنیت و رمزنگاری رو کسب کرد که البته کار راحت و سریعی هم نیست.
  پاسخ
تشکر شده توسط :
#6
جسارتا بلوفیش قدیمی شده الان بجای اون twofish اومده که هرچند بازهم من یک چیزی مثل Rijndael رو بهتر میدونم
اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی دیگه در مورد آزادی شعار نده !
آلبر کامو
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان