PDA

نسخه کامل مشاهده نسخه کامل : لشكال در كد تبديل متن به رمز



sltavakoli
21-07-2008, 00:51
سلام خدمت اساتيد.

من ميخوام با كد زير متنم رو به رمز تيديك كنم.ولي وقتي روي دكمه ي BtnPass كليك ميكنم برنامه به خط


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید




گير ميده و خطاي :



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



رو ميده.




كد اصلي برنامه هم اينه :



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


به نظز شما اشكال اين كد چيه؟


چرا در تبديل متغير ها مشكل ايجاد ميشه؟


يا حق.

MasterData
21-07-2008, 10:56
تا جايي كه من ميدونم xor بين دو تا عملوند از نوع عددي به كار برده ميشه ولي شما دارين روي رشته ها انجام ميدين
بايد روي هر كاراكتر از رشته اين عمليات رو انجام بدين

sltavakoli
21-07-2008, 13:44
دوست عزيز:

عملوند هاي Xor توي اين كد يك password هست كه عددي حساب ميشه.يكي هم Asc(letter) هست كه كاراكتر letter رو

به عدد اسكيش تبديل ميكنه.

در نتيجه تا عملوند عدد هستند.

كسي نميدونه مشكل از كجاست؟

dogtag
21-07-2008, 17:20
من نمی فهمم که این قراره چی کار کنه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sltavakoli
21-07-2008, 21:15
من نمی فهمم که این قراره چی کار کنه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

فکر کنم شما .net کار نکرددی.

این کد قراره جواب Acs(letter) Xor password رو به روال فراخوانی کننده بفرسته.این یه فانکشنه که جواب رو

با کلمه ی کلیدی Return برمیگزردونه.letter هم که Argument فانکشن هست.

_H2_
21-07-2008, 23:17
سلام
اولاً دات نت خودش کلاسسهای قوی ای برای رمزگذاری دارد.
دوماً با این رمز نگاری ساده تک کاراکتری شما فقط میتوانید اعداد Short یا UShort را پوشش دهید نه Long که چهار برابر بزرگتر است.
سوماً دستورات تان هم چندان قانون مند و بی غلط نیست که فعلاً فاکتور میگیریم، که نگید گیر میدم.!

چیزی که شما میخواهید این تابع است.
(متن خروجی لزوماً خوانا نیست.)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

dogtag
21-07-2008, 23:21
اونقدر .net کار نکردم که همه اش رو بدونم ولی 1 کم ور رفتم
تو PHP که حداقل اینجوریه:
return condition
یا true بر می گردونه یا false

مال شما هم حالت شرط داره. نه؟

اگر این و اون نبود، true
غلط می گم؟

میشه نبودن ASC یه چیزی رو برام توضیح بدی؟ خب هرچیزی که بدی توش بالاخره یه ASCی برمیگردونه

_H2_
21-07-2008, 23:42
سلام مجدد.

اونقدر .net کار نکردم که همه اش رو بدونم ولی 1 کم ور رفتم
تو PHP که حداقل اینجوریه:
return condition
یا true بر می گردونه یا false

مال شما هم حالت شرط داره. نه؟

اگر این و اون نبود، true
غلط می گم؟

میشه نبودن ASC یه چیزی رو برام توضیح بدی؟ خب هرچیزی که بدی توش بالاخره یه ASCی برمیگردونه
تابع Asc معادل عددی یک کاراکتر را پس میدهد.
مثلاً معادل عددی کاراکتر A عدد 65 است و معادل عددی کاراکتر Z عدد 90 است.
پس خروجی یک عدد است.

متغییر Password هم در کد این دوست عزیز یک عدد است.

در اینجا Xor دیگر یک اپراتور بولی و شرطی نیست و یک عددی رفتار میکند مثل آنکه بنویسیم Return a+b یا Return Asc(Letter) + Password
یعنی بود و نبودی در کار نیست، بحث True و False نیست

(ولی اگر هم می بود طبیعتاً اعداد غیر صفر به True و عدد صفر به False تعبیر میشد و لزوم اپراتور مقایسه ای را که شما دنبالش هستید رفع میکرد)

پیشنهاد میکنم به تاپیک زیر هم نگاهی بیاندازید.
forum.p30world.com/showthread.php?t=243883

ضمناً خصوصیت جالب اپراتور Xor آن است که بازگشت پذیر است مثل ضرب در منفی یک که اگر دوبار تکرار شود به عدد اول میرسد.

dogtag
21-07-2008, 23:50
تابع Asc معادل عددی یک کاراکتر را پس میدهد.
مثلاً معادل عددی کاراکتر A عدد 65 است و معادل عددی کاراکتر Z عدد 90 است.
پس خروجی یک عدد است.
این رو می دونستم، ما به جاش تابع ord داریم


در اینجا Xor دیگر یک اپراتور بولی و شرطی نیست و یک عددی رفتار میکند مثل آنکه بنویسیم Return a+b یا Return Asc(Letter) + Password
یعنی بود و نبودی در کار نیست، بحث True و False نیست
اصل مشکل همینجاست.
من نمی دونم که این چی کار می کنه.
خب اگر بولی نیست، پس چیست؟


(ولی اگر هم می بود طبیعتاً اعداد غیر صفر به True و عدد صفر به False تعبیر میشد و لزوم اپراتور مقایسه ای را که شما دنبالش هستید رفع میکرد)
این رو هم می دونستم. خیلی پر کاربرده، اگر ندونم که کلاهم اون طرف تر از معرکه است


ممنون از بابت لینک

_H2_
22-07-2008, 00:31
سلام


اصل مشکل همینجاست.
من نمی دونم که این چی کار می کنه.
خب اگر بولی نیست، پس چیست؟


یک سری از مبانی در کلیه زبانها مشترک است مثل همانها که فرمودید، البته این یکی هم جزء مشترکات است.
ولی در کل من شرط میبندیم، قبل از اینکه به توصیه ام عمل کنید، این پست را داده اید! :31::11:


پیشنهاد میکنم به تاپیک زیر هم نگاهی بیاندازید.
forum.p30world.com/showthread.php?t=243883


موفق باشید.

dogtag
22-07-2008, 10:48
تاپیک عالیی بود، کاملاً فهمیدم.
مرسی

sltavakoli
27-07-2008, 00:46
اولاً دات نت خودش کلاسسهای قوی ای برای رمزگذاری دارد.


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

این کلاس ها اشنا بشم.



دوماً با این رمز نگاری ساده تک کاراکتری شما فقط میتوانید اعداد Short یا UShort را پوشش دهید نه Long که چهار برابر بزرگتر است.


ما توی همین سادش موندیم.راستی منظورت از اینکه فقط اعداد Short پوشش میگیره چیه؟و Ushort Date Type دیگه چیه؟

sltavakoli
27-07-2008, 16:21
چرا هیچ کس توجهی نداره؟

_H2_
27-07-2008, 18:16
سلام

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

چشم، دفعه بعد که لوگین شدم یک نمونه برایتان میگذارم، ولی برای اطلاعات جامع و کامل باید به msdn مراجعه کنید.




.راستی منظورت از اینکه فقط اعداد Short پوشش میگیره چیه؟و Ushort Date Type دیگه چیه؟
اعداد Short اعداد 16 بیتی هستند (معادل Integer در VB6).
نوع UShort صرفاً مختص اعداد بدون علامت است (مثبت) و از رنج 0 تا 65535 را پوشش میدهد، در حالی که Short رنج 32768- تا 32767 را دارد.
UInteger و ULong و SByte هم همین تشابهات را با انواع معمولی دارند.

چون مجموعه یونیکد برای هر کاراکتر 16 بیت (دو بایت) را در نظر میگرد، با طریقه رمز نگاری ساده فوق، شما فقط میتوانید حداکثر 65536 عدد مختلف را پوشش دهید، که دقیقاً معادل رنج پذیرش UShort است.

و اگر از اعداد بزرگتری مثل Integer یا Long استفاده کنید، اگر به خطا نخورد، همه بیتهای بالارتبه 16 بیت اول حذف میشود، انگار که وجود ندارند. یعنی باز میشود UShort.


چرا هیچ کس توجهی نداره؟
متاسفانه، تعداد پستهای این تالار، داره کمی بیشتر از وقت آزاد من میشه!!! و دیگه بعید میدونم بتونم مثل قبل جواب گوی دوستان باشم، احتمالاً باید چند تاپیک را شانسی انتخواب کنم. ! :11::11::11:
انشا ا... اساتید و دوستان دیگر که برخی تاپیک ها را جواب میدهد، برخی دیگر را هم مرحمت کنند!

sltavakoli
27-07-2008, 21:44
باشه.پس مثال رو یادت نره.

راستی لینکش رو توی Msdn لطف کن.

یا حق.

_H2_
28-07-2008, 01:16
سلام
رمز نگاری با الگوریتم DES و...
(رمز نگاری DES تنها یکی از انواع بسیار متنوع الگوریتم های مشهور جهانی است که به ذات در دات نت وجود دارند.)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید






راستی لینکش رو توی Msdn لطف کن.
اگر منظورتان برنامه msdn است، که لینک نمیخواهد، کافیست System.Security.Cryptography را در کادر متنی Look for وارد کنید، تا لیست کلاسسها و اعضا را مشاهده کنید.
اگر هم منظورتان سایت msdn است که باز با یک جستجوی فسقلی پیدا میشود. !
msdn.microsoft.com/en-us/library/system.security.cryptography.aspx

azmoodeh
21-02-2011, 10:54
این کد نگاری امروزه بسیار کاربرد دارد ولی توضیحات بکارگیری آن چقدر کم است؟ من به دنبالشم اگر مطلب بهتری پیدا کردید لطفا قرار دهید

_H2_
24-02-2011, 00:17
سلام

توضیحات بکارگیری آن چقدر کم است؟
ضمن تبریک عضویت شما ...

مطلب در حد کافی قرار دارد و چگونگی انجام کار را نشان داده.
میتوانید همین را عملا انجام دهید، طبیعتاً در عمل تسلط بیشتری پیدا میکنید، ضمن آنکه کد بسیار ساده ، کوتاه و واضح است و از سینتکس استانداردی پیروی میکند، یکم دقت و فکر کنیدف متوجه خواهید شد.

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

موفق باشید.