افزودن احراز هویت توسط اثر انگشت در اندروید

افزودن احراز هویت توسط اثر انگشت در اندروید

سلام دوستان؛

اخیرا با منتشر شدن (Android 6.0 (M، مقدار قابل توجهی از تغییرات مربوط به رابط ها، در برنامه های کاربردی می باشد، که یکی از آنها احراز هویت اثر انگشت است. با انتشار API های جدید، تصدیق هویت کاربران با کمک سنسور اثر انگشت در دستگاه های مختلف امکان پذیر است.

مثال زیر آموزش می دهد که چگونه احراز هویت با استفاده از اثرانگشت را پیاده سازی کنیم. برای تأیید هویت کاربران با استفاده از سنسور اثر انگشت، شما به یک نمونه از کلاس FingerprintManager که به تازگی اجرا شده و به استفاده از متد ()authenticate نیاز خوهید داشت. با این حال برنامه شما باید بر روی یک دستگاه که شامل یک سنسور اثر انگشت است اجرا شود. علاوه بر این شما باید رابط کاربر برای احراز هویت توسط اثر انگشت را پیاده و از آیکون استاندارد اثرانگشت در UI خود استفاده کنید.

نسخه دمو

مزایای استفاده از احراز هویت توسط اثرانگشت

۱. مهم نیست که چه نوع بیماری دارید و یا قادر به تفکر نیستید، اثر انگشت شما هنوز هم می تواند به عنوان یک ابزار شناسایی قدرتمند مورد استفاده قرار گیرد.

۲. سریع، راحت و قابل اطمینان استفاده کنید.

۳. اثر انگشت این اطمینان را می دهد که فقط توسط شما باز گردد.

۴. با کمک احراز هویت توسط اثر انگشت فعالیت های آنلاین سریع تر و مطمئن تر انجام خواهند شد.

در اینجا برنامه نهایی ما نمایش داده شده است.
android-fingerprint-authentication-sign-in-mobcollege

۱. ساخت پروژه جدید

۱. یک پروژه جدید در اندروید استدیو(android studio) بسازید و مقدار minimum SDK را بر روی (Android 6.0 (API 23 قرار دهید.
android-fingerprint-authentication-minimum-target-version-mobcollege

۲. زمانی که می خواهیم با احراز هویت توسط اثر انگشت کار کنیم، احتیاج به وارد کردن مجوز USE_FINGERPRINT در فایل AndroidManifest.xml را داریم.

۳. فایل colors.xml را در مسیر res ⇒ values باز کنید و مقادیر زیر را در آن قرار دهید.

۴.فایل strings.xml را در مسیر res ⇒ values باز کنید و مقادیر زیر را در آن قرار دهید.

۵. یک آیکون fingerprint به کمک “Android Image Assets” بسازید. برای این کار، بر روی پوشه drawable راست کلیک کنید و Create a New ⇒ Image Asset و نام آنرا ic_action_fingerprint بگذارید.

android-fingerprint-authentication-icon-mobcollege
۲. ساخت activity برای Fingerprint

۶. یک فایل layout xml بسازید و نام آن را activity_fingerprint.xml بگذارید. کدهای زیر را درون آن قرار دهید.

android-fingerprint-authentication-sign-in-mobcollege
۷. یک کلاس Activity بسازید و نام آن را FingeprintActivity.java قرار دهید. این کلاس شامل راه ها و متدهای زیر مانند متد ()onCreate در تعریف activity_fingerprint.xml است.

()generateKey – تابعی است که یک کلید رمزنگاری شده را تولید می کند و سپس آن را به صورت امن برروی دستگاه ذخیره می کند.

> ()cipherInit – تابعی است که برای مقدار دهی اولیه و رمزنگاری  FingerprintManager استفاده می شود.

CryptoObject – برای چک کردن های مختلف قبل از شروع فرآیند احراز هویت استفاده می شود و داخل متد ()onCreate به کار می رود.

کدهای نهایی مربوط به FinagerprintActvity.java را در آن پیاده سازی کنید.

۳. ساخت صفحه اصلی

۸.یک activity با کلیک راست بر روی نام پروژه و از قسمت New ⇒ Activity ⇒ Basic Activity بسازید. فایل ها را به کمک کدهای زیر کامل کنید.

 

 

۴. ساخت کلاس Fingerprint Authentication Handler

۹. یک کلاس بسازید و نام آن را FingerprintHandler.java قرار دهید. کلاس Handler از FingerprintManager.AuthenticationCallback ارث بری(extends) می کند و شامل تعدای ماژول اضافی می باشد. مجموعه کدهای زیر را در فایل FingerprintHandler.java جایگزین کنید.

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

آزمایش بر روی یک دستگاه فیزیکی

با این پروژه کامل، اشکال زدایی برنامه ها در یک دستگاه فیزیکی آندروید با قرار دادن نوک انگشتان خود بر روی اسکنر اثر انگشت انجام می شود. اگر اثر انگشت تایید شده است، موفق شده کاربر را به فعالیت اصلی به صورت زیر هدایت کند.

android-fingerprint-authentication-verified-mobcolege

آزمایش بر روی شبیه ساز

شما همچنین می توانید برنامه را بر روی شبیه ساز آزمایش کنید:

>  نصب آخرین ویرایش اندروید SDK 24.3

> ثبت یک اثر انگشت با رفتن به Settings ⇒ Security ⇒ Fingerprint و دنبال کردن دستور العمل ها

 

مدرس و برنامه‌نویس اندروید. تمام تجربه‌هایم را با شما شریک می‌شوم و دوستت دارم بتوانم با کمک و همراهی همه دوستان یک مرجع کامل فارسی برای برنامه‌نویسی اندروید ایجاد کنم.

عضو می‌شوم:)

مقاله های مرتبط :

دیدگاه خود را بیان کنید :

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

۵ دیدگاه برای این مطلب ثبت شده است

  1. رحمان
    ۲:۰۳ ۱۳۹۶/۰۲/۳۱

    کار نمی کنه

    • امیر زنگی آبادی
      ۸:۴۶ ۱۳۹۶/۰۳/۰۱

      باسلام
      تمامی کدها قبل از بارگذاری در سایت تست و آزمایش میشوند.
      در صورت تمایل اعلام بفرمایید تا تیم پشتیبانی، کدهای برنامه را برای شما ایمیل کند.
      موفق و پیروز باشید.

  2. اکبر
    ۸:۳۰ ۱۳۹۷/۰۲/۱۵

    امکان ساخت برنامه ای مثل مدیریت ورود / خروج هست؟ یعنی امکان ساخت برنامه ای که بتونه چندین اثر انگشت خاص رو تشخیص بده هست؟

    • امیر زنگی آبادی
      ۹:۲۸ ۱۳۹۷/۰۲/۱۵

      بله، البته گوشی هم بایدتوانایی پشتیبانی از این قابلیت را داشته باشد.

      • اکبر
        ۱۲:۰۷ ۱۳۹۷/۰۲/۱۵

        آبا امکان این هست که بعد از گرفتن اثر انگشت ، مشخص کنه که اثر انگشت چه کسی هست؟

        اگر امکان ش هست:

        – چند مورد از گوشی هایی که این قابلیت رو پشتیبانی می کنند و نمونه کد ای از یک مثال رو قرار بدید