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

نام تاپیک: هشینگ اعداد

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    123

    هشینگ اعداد

    اگه کسی الگوریتم خوبی برای کد و دی کد کردن اعداد داره بگونه ای که ورودی و خروجی عدد باشه یه ندایی بده

    با تشکر

  2. #2
    یه کتابی دانشگاه امام حسین (سپاه) منتشر کرده به اسم مبانی رمز نگاری.
    شاید به دردتون بخوره.

  3. #3
    مهمان
    الگوریتم MD5 فکر کنم بهترین باشه!
    تو MSN Messenger از اون استفاده میشه!

  4. #4
    تو کتاب ساختمان داده ها یک الگوریتم خیلی خفن است که مبنای آن ÷یا کردن یک عدد اول 100 رقمی یا بیشتر می باشد. البته در کتاب خیلی گنگ در مورد آن صبت شده ست ولی فکر می کنم بتونی در کتاب]ا یا اینترنت مطلبی درموردش پیدا کنی.
    اگر Net. نمی دانید وارد نشوید.

  5. #5
    دوست عزیز ،

    در ادبیات رمزنگاری ، Hash یک نوع OWF است ( One Way Function ) یعنی ، فارغ از مقداری که وارد تابع عملگر میشه ، خروجی همیشه دارای شرایطی خاص است ، مثلا" خروجی همیشه یک رشتهء 128 بیتی ، بدون توجه به نوع و سایز ورودی . فی المثل الگوریتم متداول MD5 ( که در بخش رمزنگاری در موردش توضیح داده شده ) یک عملگر Hash است و به ازای ورودی ( چه یک A باشد چه یک فایل 100 کیلوبایتی حاوی تصویر ) همیشه یک خروجی ثابت میدهد . از Hash برای بررسی صحت Integrity و اغلب برای تولید Digest و امضای دیجیتال استفاده میشه . اگر دنبال روشی برای تغییر شکلی داده هات هستی که قابل تبدیل به حالت اولیه باشی ( چون خودت نوشتی میخای بتونی کد/دیکد بکنی ) باید روی متدهای رمزنگاری ( Cryptography ) جستجو کنی . اگر مساله خاصی داری که میتونی تعریفش کنی ، ممکنه شرحش بتونه کمک بکنه تا پیشنهادات بهتری بگیری .

    موفق باشی
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    پست
    33
    سلام
    خسته نباشید
    میدونم که هیچکس جوابم نمی ده ولی من هر چی تاپیک باز می کنم می بندند می گن
    تکراری اینطوری ام هیچکس جوابم نمی ده.
    راستی منم دنبال یه الگوریتم خیلی سریعی مگردم که بتونه به ازای هر رشته ورودی یک عدد در اختیار من قرار بده.
    و یکنواخت باشه.
    اگه سراغ دارین به منم بگین وهمینطور در مورد مرتبه اجراییش هم بگین.

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    پست
    33
    چرا جواب نمی دین
    من منتظرم

  8. #8
    دوست عزیز، بجای انتظار همون کلمه MD5 رو جستجو کن. این قدر برنامه آماده به زبانهای مختلف هست که میتونی هرکدومشونو خواستی استفاده کنی.

    الگوریتمهای دیگه ای مثل SHA هم هستند.

    http://www.xs4all.nl/~gnista/KeePass/src/md5.pas

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    پست
    33
    سلام دوست عزیز
    من با md5 آشنایی دارم ولی آن به درد کارمن نمی خوره
    من میخوام یک int خروجی من باشه.
    ممنون میشم اگه بتونین کمکم کنین.

  10. #10
    الگوریتم تولید CRC32 میتونه یک checksum به اندازه یک Integer تولید کنه.

    اگه امنیت و یکی نبودن checksum دو تا رشته متفاوت خیلی مهم باشه، بهتره که طول checksum رو هم زیاد کنیم. ولی اگه فقط باید Integer باشه همون CRC32 خوبه.

    برای مرتبه زمانی هم، محاسبش کار ساده ایه. همه حالتهای کمترین و متوسط و بیشرین زمان با هم یکی هستند (منظورم همان مرتبه زمانیه). بنا بر این یک بررسی ساده اون رو مشخص میکنه.

  11. #11
    کاربر دائمی آواتار Valadi
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    فعلا در خدمت شما
    پست
    1,344
    شما می تونید از Hash MD5 استفاده کنید در این تکنیک شما هر کاراکتری بدید بصورت 32 کاراکتر در می اورد

  12. #12
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1387
    پست
    33
    سلام خیلی ممنون
    من امنیت و یکی نشدن برام خیلی مهم
    یهنی طول checksum بیشتر باشه عیبی نداره و می توان تضمین نمود یا ......
    من در حدود 10.000.000 کلمه دارم و می خوام برای هر کدام از آنها مقدار متفاوتی تولید کنه.

  13. #13
    آقای ولدی،

    ایشون گفتند 32 بیتی (Integer) نه 32 بایتی. در ضمن MD5 امضای 16 بایتی تولید میکنه نه 32 بایتی.

    جناب prazvin

    با توجه به اینکه یکی نشدن براتون مهمه از SHA-128 استفاده کنید.

  14. #14
    کافیه از رشته های مورد نظرتون با SHA-128 امضا درست کنید (یک رشته 16 بایتی). احتمال اینکه امضاها یکی دربیان خیلی کمه. حتی کمتر از MD5. برای اینکه این امضا رو تولید کنید از توابع موجود در Crypt32.dll ویندوز استفاده کنید (یا هر کد آماده دیگه ای).
    آخرین ویرایش به وسیله B-Vedadian : دوشنبه 09 اردیبهشت 1387 در 23:32 عصر

  15. #15
    کاربر دائمی آواتار Valadi
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    فعلا در خدمت شما
    پست
    1,344
    نقل قول نوشته شده توسط B-Vedadian مشاهده تاپیک
    آقای ولدی،

    ایشون گفتند 32 بیتی (Integer) نه 32 بایتی. در ضمن MD5 امضای 16 بایتی تولید میکنه نه 32 بایتی.
    جناب B-Vedadian
    من خودم از این Md5 استفاده کردم و شما هر چند کارکتر بدید به 32 کارکتر تبدیل می کنی

  16. #16
    جناب ولدي

    کتابخانه هاي غير ويندوز، معمولا رشته هگزادسيمال بر مي گردونند که براي 16 بايت ميشه 32 کاراکتر ولي در عمل همون 16 بايته (هر بايت معادل دو رقم هگزادسيماله). علت اينکه MD5 تو Web بصورت هگزا مينويسند، اينه که همه کاراکترهاي ASCII قابل نمايش نيستند.

  17. #17
    نقل قول نوشته شده توسط B-Vedadian مشاهده تاپیک
    دوست عزیز، بجای انتظار همون کلمه MD5 رو جستجو کن. این قدر برنامه آماده به زبانهای مختلف هست که میتونی هرکدومشونو خواستی استفاده کنی.

    الگوریتمهای دیگه ای مثل SHA هم هستند.

    http://www.xs4all.nl/~gnista/KeePass/src/md5.pas
    فیلتر شده!!!!

برچسب های این تاپیک

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

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