Swift Practice#59 & Work#125 護隱私!密碼安全性檢查

上一篇透過新台幣與頁面傳遞IBSegueAction完成多個頁面的作業。算是給小朋友認識新台幣與數學的一個不錯的作業?

這篇則要來練習並探討密碼安全性與如何檢查密碼的功能。平常密碼檢查時網站都會預設一些「密碼條件」,不外乎是幾位數或者是包含大寫或小寫的要求,系統如何去檢查是個可以探討的練習,所以今天就來研究這個題目。先查閱彼得潘的文章、蘋果官方書籍以及前輩的作業。

一開始大概理解密碼檢查可以透過字串功能的「contains」來判斷是否有包含字數,但在對於檢查大小寫特殊字型等還不清楚,但前輩的文章使用for迴圈來做檢查判斷,讓我知道原來可以使用這個方法來做檢查。開始理解一個實用的可能。

畫面佈局:

依照前輩的畫面佈局,建立自己的畫面佈局如下

畫面佈局所需元件

UILabel * 1 (標題)

UILabel * 1(透過程式改變顯示規格)

UITextField * 3 (帳號與兩次密碼)

UIButton * 1 (黃色單頁送出測試)

IBOutlet:

預計流程是要判斷3個UITextField的內容,所以要拉3個UITextField的Outlet。

另外密碼規則的UILabel也想透過程式碼去做顯示規則的設定,所以也另外拉一個Outlet。

在Label的密碼規則顯示這邊則在override內執行下面的程式碼透過指定換行去顯示。

IBAction:

按下黃色的按鈕會判斷密碼是否符合條件,所以在按鈕拉出一個IBAction。

另外3個UITextField因為要按return後收鍵盤,所以也拉出IBaction但不執行動作。

接著完成需要在Action內執行的程式內容的前置,先定義一個Funtcion去做Alert的警告,顯示的內容指定為Array的形式去執行。

上面的Function會在下Action判斷後跳出不同的警告語讓使用者知道是否有按照規定完成密碼設定。

接著依照Apple官方建立數字以及特殊符號還有常見密碼的Array。

完成後指派五個變數,變數需要在迴圈內去判斷是否有特定的值,有值再去讓變數+1,最後透過變數去觀察是否有指定規則的內容。

以上完成後就可以在黃色的Button的Action內執行判斷。

輸入完成就可以測試結果了。

心得:

本來想測試如果有依照規則建立密碼完成顯示提示標語後跳到下一頁,但好像沒有辦法完成,所以先暫時做一頁的畫面,也感謝前輩的迴圈讓我知道可以透過別的方法檢查內涵的文字。希望之後可以完成顯示提示Alert再跳到下一頁(比較像是正常的註冊畫面模式)。持續加油!!

程式碼與Github:

--

--