آموزش آردوینو پروژه های آردوینو

آموزش ایجاد پسوورد در آردوینو

آموزش ایجاد پسوورد در آردوینو
نوشته شده توسط علیرضا قربانی

آموزش ایجاد پسوورد در آردوینو

گذرواژه یا اسم رمز یک کلمه یا جمله و یا رشته‌ای از کاراکتر است که برای اصالت‌سنجی به کار می‌رود. افراد یا ابزارها برای استفاده از یک سامانه محافظت شده توسط گذرواژه، باید آن گذرواژه را به واحد اصالت‌سنجی آن سامانه ارائه دهند و در صورت ارائهٔ گذرواژهٔ درست مجاز به استفاده از آن سامانه می‌شوند، همچنین گذرواژه برای اثبات هویت نیز به کار می‌رود به این صورت که کاربر یک سامانه با ارائه نام کاربری خود باید گذرواژه خود را نیز ارائه بدهد در صورت ارائه گذرواژه درست، ادعای وی در مورد تعلق نام کاربری به وی مورد تائید سامانه قرار می‌گیرد.گذرواژه‌ها در اغلب سامانه‌های رایانه‌ای و دستگاه‌های الکترونیکی مورد استفاده قرار می‌گیرند. به طور معمول فرایند پیکربندی دستگاه‌های الکترونیکی توسط گذرواژه محافظت می‌شود.در ادامه آموزش ایجاد پسوورد در آردوینو با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید. در این آموزش برای ایجاد پسوورد و همچنین عملیات بر روی آن از کتابخانه password.h استفاده شده است که می‌توانید از لینک زیر آن را دانلود کنید.

دانلود کتابخانهpassword.h

پس از دانلود کتابخانه و اضافه کردن آن به نرم‌افزار آردوینو ، توسط دستور زیر آن را به برنامه فراخوانی می‌کنیم.

 

بعد از فراخوانی باید یک شی از کتابخانه password.h  بسازیم همانند قطعه کد زیر:

 

در کد فوق pass آبجکتی است که از کلاس Password ساخته شده است و mypassword نیز رشته‌ای است که می‌خواهیم به عنوان پسوورد استفاده کنیم.برای مثال در قطعه کد زیر یک کلمه عبور با مقدار ۱۲۳۴۵۶ ایجاد می‌کنیم.

 

 

توابع

 

set(char * pas)

 

توسط این تابع می‌توایم گذرواژه جدیدی به شی ساخته شده از کلاس Password.h نسبت دهیم.ساختار تابع به صورت زیر می‌باشد:

که pass آرایه‌ای از جنس char می‌باشد.توجه داشته باشید که این آرایه باید به صورت سراسری در برنامه تعریف شده باشد یعنی در بالای steup برنامه آن را تعریف کرده باشیم.

 

مثال: در این مثال ابتدا کلمه عبور عبارت ۱۲۳۴ می‌باشد و پس از استفاده از تابع set مقدار گذرواژه به عبارت digispark تغییر می‌کند.

 

نکته: همانطور که ذکر شد مقدار آرایه‌ای که به عنوان گذرواژه به تابع set نسبت می‌دهیم باید به صورت سراسری تعریف شده باشد.برای مثال قطعه کد زیر به دیلیل تعریف آرایه درون تابع setup ، نادرست می‌باشد.

 

 

 

is(MyPassword)

 

این تابع اگر مقدار MyPassword با مقدار گذرواژه‌ی انتخاب شده در ابتدای برنامه برابری کند ، مقدار true  و در غیر این صورت مقدار false را بر می‌گرداند.

مثال:

evaluate()

از این تابع برای اعتبار سنجی گذرواژه‌ای که حدس زدیم استفاده می‌شود. اگر مقدار حدس زده شده درست باشد ، true را برمی‌گرداند در غیر این صورت مقدار false را بر‌می‌گرداند.

 

 

 

چگونه گذرواژه‌ای را که در ذهن داریم را به برنامه اعمال کینم؟

برای اعمال کردن گذرواژه‌ی حدسی خود به برنامه  باید از روش‌های زیر استفاده کنید:

 

۱- روش اول تابع append

 

append(character)

 

به وسیله‌ی این تابع هر کاراکتر از گذرواژه‌ای را که در ذهن داریم به برنامه اعمال می‌کنیم.

مثال:

 

 

 

۲- روش شیفت دادن ( استفاده از دستورالعمل >>  )

در این روش هر بار یک کاراکتر را به گذرواژه شیفت می‌دهیم.

مثال:

 


 

 

reset()

این تابع پسووردی که هر بار حدس می‌زنیم  را ریست می‌کند.  در واقع عمل پاک کردن پسوورد حدس زده شده را انجام می‌دهد.برای مثال در ابتدای برنامه گذرواژه را عبارت ۱۲۳۴ وارد کرده‌‌ایم و سپس توسط دستور append مقدار حدس زده شده را به برنامه وارد می‌کنیم که در همین حال متوجه می‌شویم یک کاراکتر را اشتباه وارد کرده‌ایم ، حال برای پاک کردن گذرواژه‌ که در حال وارد کردن آن بودیم باید از تابع reset استفاده شود.

پروژه

کد‌های زیر را در آردوینو خود آپلود کنید. در این پروژه ابتدا باید وارد سریال مانیتور نرم‌‌افزار آردوینو می‌شوید ، سپس از شما خواسته می‌شود که پسووردی حدس زده شده را وارد کنید . بعد از وارد کردن گذرواژه در صورتی که کاراکتر ‘?’ زده شود ، برنامه عملیات اعتبار سنجی را انجام می‌دهد و در صورت درست وارد شدن گذرواژه  پیغام You guessed the correct password بر روی سریال مانیتور نرم‌افزار نمایش داده می‌شود و در صورتی که گذرواژه را  نادرست وارد کرده باشید ، پیام You did not guess the correct password بر روی سریال مانیتور نرم‌افزار نمایش داده می‌شود.

در صورت وارد کردن کاراکتر ‘!’ گذرواژه‌ای در حال حدس زدن آن هستید ریست می‌شود.

درباره نویسنده

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

  • بسیار مفید و اموزنده هستش مطالبتون.
    یه پیشنهاد : سعی کن زیاد کتابی ننویسی. اینجور خیلی زود خسته میشن از خوندن مطالبت. سعی کن خیلی دوستانه و با استفاده از کلمات عامیانه و البته کلماتی ک خواننده زود بتونه تو ذهنش اونارو دسته بندی کنه مطالبت رو تو‌سایت بزاری??