نمایش نتایج 1 تا 7 از 7

نام تاپیک: نحوه ساخت شماره یونیک برای نرم افزار

  1. #1

    نحوه ساخت شماره یونیک برای نرم افزار

    با سلام.
    فرض کنید مشتری شماره سریال قطعات سخت افزاری رایانه را برای ما ارسال کرد حالا ما چطوری شماره یونیک درست کنیم و برای مشتری ارسال کنیم تا نرم افزار فعال بشه؟
    ممنون

  2. #2

    نقل قول: نحوه ساخت شماره یونیک برای نرم افزار

    نقل قول نوشته شده توسط SardareEshgh مشاهده تاپیک
    با سلام.
    فرض کنید مشتری شماره سریال قطعات سخت افزاری رایانه را برای ما ارسال کرد حالا ما چطوری شماره یونیک درست کنیم و برای مشتری ارسال کنیم تا نرم افزار فعال بشه؟
    ممنون
    به سادگی با یک رابطه ریاضی با استفاده از اطلاعات سخت افزاری کافی که این اطلاعات را با یک الگوریتم Hash اینکریپت کنید سمت کلاینت هم با اطلاعات سخت افزاری مجددا Hash را بسازید و با Hash دریافتی مقایسه کنید البته برای سخت تر شدن الگوریتم های اینکریپت از تلفیق چند الگوریتم و Check Sum استفاده کنید قطعا بهتر هست که الگوریتم hash را خودتون بنویسیدو با الگوریتم های شناخته شده تلفیق کنید تا شکستن الگوریتم کار ساده ای نباشه

  3. #3

    نقل قول: نحوه ساخت شماره یونیک برای نرم افزار

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    به سادگی با یک رابطه ریاضی با استفاده از اطلاعات سخت افزاری کافی که این اطلاعات را با یک الگوریتم Hash اینکریپت کنید سمت کلاینت هم با اطلاعات سخت افزاری مجددا Hash را بسازید و با Hash دریافتی مقایسه کنید البته برای سخت تر شدن الگوریتم های اینکریپت از تلفیق چند الگوریتم و Check Sum استفاده کنید قطعا بهتر هست که الگوریتم hash را خودتون بنویسیدو با الگوریتم های شناخته شده تلفیق کنید تا شکستن الگوریتم کار ساده ای نباشه
    ممنون دوست عزیز .
    اگه کد بذارید ممنون میشم

  4. #4

    نقل قول: نحوه ساخت شماره یونیک برای نرم افزار

    نقل قول نوشته شده توسط SardareEshgh مشاهده تاپیک
    ممنون دوست عزیز .
    اگه کد بذارید ممنون میشم
    کدی که من قرار بدم که بدردتون نمیخوره! عرض کردم کافی که یک الگوریتم خوب برای hash انتخاب کنید الباقی اش هنر و خلاقیت خودتون را میطلبه!
    مثلا از این الگوریتم برای hash استفاده کنید سازگار با ++C#‎‎‎‎ , C البته خیلی هم خوب نیست چون خیلی سریع نوشتم صرفا برای اینکه ایده بگیرید....

    #define MASK_DWORD_BYTE 0xf0000000
    unsigned long
    hashGenrator(const unsigned char* buffer){
    unsigned long h = 0 , g ;
    while(*buffer){
    h = (h << 4) + *buffer++;
    if((g = h & MASK_DWORD_BYTE))
    h ^= g >> 24;
    h &= ~g;
    }
    return h;
    }


    const int MASK_DWORD_BYTE = 0xf0000000;
    ulong
    hashGenrator(String buffer){
    var h = 0UL ;
    var g = 0UL ;
    var index =0;
    while(index <= buffer.Length){
    h = (h << 4) + buffer[index++];
    if((g = h & MASK_DWORD_BYTE))
    h ^= g >> 24;
    h &= ~g;
    }
    return h;
    }

  5. #5

    نقل قول: نحوه ساخت شماره یونیک برای نرم افزار

    فرض بفرمایید سریال سخت افزاری ارسال شده توسط مشتری کد زیر باشد:
    7B76-0644-B8FD-E01F-0A96-C321
    کد فوق را با رشته زیر جمع میکنم :
    @Ali110^karimi
    و سپس توسط الگوریتم MD5 به Hash تبدیل میکنم و به مشتری ارسال میکنم.
    همین کار هم توسط کلاینت مشتری انجام میشود.
    و سپس این دو Hash در نرم افزار مقایسه شده و در صورت برابری نرم افزار فعال میشود.
    دو سوال مطرحه :
    1-آیا همیشه Hash تولیدی از یک شماره سریال توسط دو طرف یکسان خواهد بود؟
    2-امنیت این روش چقدر تضمین شده هست؟
    ممنون
    آخرین ویرایش به وسیله SardareEshgh : سه شنبه 11 تیر 1398 در 13:41 عصر

  6. #6

    نقل قول: نحوه ساخت شماره یونیک برای نرم افزار

    1-آیا همیشه Hash تولیدی از یک شماره سریال توسط دو طرف یکسان خواهد بود؟
    بله در صورتی که سریال سخت افزاری همیشه یکتاست خوب قطعا وقتی داری با یک رشته ثابت هم جمع میکنی نتیجه hash یکسان خواهد شد.

    2-امنیت این روش چقدر تضمین شده هست؟
    اگر برنامه تون با سی شارپ که و اگر این الگوریتم ها را داخل سورس قرار بدید امنیتی نداره ولی اگر سناریو تولید کد هش را در یک کامپیوتر راه دور مثلا از طریق نت روی یک سرور انجام بدید امنیت خیلی بیشتر خواهد شد. یعنی کلا تولید کد هش را باید از طریق وب سرویس ها انجام بدید!
    و خیلی موارد دیگه که قبلا هم بحث شده جستجو کنید

  7. #7
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

    نقل قول: نحوه ساخت شماره یونیک برای نرم افزار

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    بله در صورتی که سریال سخت افزاری همیشه یکتاست خوب قطعا وقتی داری با یک رشته ثابت هم جمع میکنی نتیجه hash یکسان خواهد شد.


    اگر برنامه تون با سی شارپ که و اگر این الگوریتم ها را داخل سورس قرار بدید امنیتی نداره ولی اگر سناریو تولید کد هش را در یک کامپیوتر راه دور مثلا از طریق نت روی یک سرور انجام بدید امنیت خیلی بیشتر خواهد شد. یعنی کلا تولید کد هش را باید از طریق وب سرویس ها انجام بدید!
    و خیلی موارد دیگه که قبلا هم بحث شده جستجو کنید
    -------------------------

تاپیک های مشابه

  1. سوال: این برنامه با یونیون ها درست نوشتم ؟؟
    نوشته شده توسط fati63 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: جمعه 10 آذر 1391, 19:34 عصر
  2. نوشتن یونیکد در اسم فایل (کار با یونیکد ها در ویژوال بیسیک )
    نوشته شده توسط shinyboy در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: شنبه 06 آبان 1391, 21:09 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •