常忘記密碼?不知道密碼怎麼設才安全?這堂「密碼課」,教小學生運算思維,寫出自己的密碼生成器
在這門共20堂的密碼課中,學生要先為自己的密碼做「健康檢查」,再探討如何讓密碼安全又好記,然後去理解密碼的演算法,最後運用Scratch寫出一支程式,能自動產生專屬於己的密碼。
研發這堂課的是台北市日新國小教師徐臺屏,他同時也是教育部中央課程與教學輔導諮詢教師團隊成員,主攻科技領域的教學創新。
徐臺屏分享,自從教學現場開始使用各種數位工具之後,學生們常需要登入帳號與密碼,而忘記密碼、搞混密碼或亂設密碼,就成了常見狀況,老師們在上課時,總得花時間處理這類問題。
為了「治本」、讓學生徹底搞定「密碼事」,徐臺屏近期研發出一門課,專門教學生相關原理,並透過動手實作找出解方。
先為密碼「健康檢查」,檢測常用密碼的強度
課程一開始,徐臺屏先帶著學生為密碼做「健康檢查」,運用網路上的密碼強度檢測器,看看自己常用的密碼安全度有多高。
「同學們最常用的密碼是『123456』,很多人輸入這串密碼、檢測之後,發現安全強度只有4%,總會哀鴻遍野!」徐臺屏說,做過檢測,多數學生就能立刻明白密碼不能亂設。
接下來,他會引導學生上網閱讀「密碼該怎麼設才能安全又好記」的文章,為了確保有讀對、讀懂,徐臺屏會請學生們歸納出重點,例如,設定密碼時最好別用生日、身分證字號等個人資料,也不要使用英文名字或英文單字,太過簡單的密碼如「123456」、「abc123」等也很容易破解。
密碼如何安全又好記?掌握英數夾雜等原則
比較好的密碼,最好是由沒有意義的字所組成的,而且至少要有八碼,英文與數字參雜、並含英文大小寫,還得自己記得住。
掌握這些重點後,徐臺屏接著帶學生們認識網路上常見的密碼產生器,運用這些程式來設看看密碼。
通常,這類程式會先請使用者輸入一些資料,例如密碼要用在哪些網站、習慣使用的數字等等,再運用這些資料產生密碼;比方說,輸入了「yahoo」跟「1213」生成的密碼是「1y2a@1h3o」,輸入「google」跟「1225」生成的密碼則是「1g2o#2o5g」。
透過觀察與討論,看出密碼背後的演算規則
「這些運用程式產生出來的密碼,如果拿去檢測安全性,強度通常都很高,常常超過80%、90%,同學們親自操作過後,就會很有感,明白密碼安全與否差很大!」也很顯然的,程式產生的密碼符合某種規則,所以安全性才那麼高。
接下來,徐臺屏會請大家觀察看看程式生成的密碼們如「1y2a@1h3o」、「1g2o#2o5g」等,有哪些共通點、有沒有什麼規律性,慢慢引導學生發現這些密碼是由使用者輸入的資料、經過排列組合得來的,而其中的運作方法,就是演算法的規則。
這個環節並不容易,依徐臺屏的教學經驗,高年級的學生雖然大多覺得這些密碼有某種規律在,但只有四分之一的人能明確說出,「不過,即使孩子答錯了或用猜的,也沒關係,總會慢慢熟悉這些概念。」
透過寫程式,創作屬於自己的密碼產生器
也曾有學生發現,不同的密碼生成程式、會產出不同規律的密碼,徐臺屏便會趁勢引導,讓大夥兒明白演算法就是套規則、機制,原本就有很多種,沒有「絕對好的」,但有「相對好的」,當然,每個人都能依照自己的想法、需求,打造屬於自己的演算法。
如果是學過Scratch的學生,在密碼課的最後,會練習寫一個密碼生成程式;假若沒有程式基礎,則會學一些程式結構的基本概念,練習畫出流程圖。
值得注意的是,在「生生有平板」的課堂中,老師一邊講解時,學生就能同時操作,不但更有效率,也能讓老師即時看出每個人的學習進度,做到差異化教學,甚至還能做到組內互學、組間共學等等。
「整套課上下來,說真的並不簡單,但當頂到孩子的『認知負荷』,讓孩子覺得好難、好燒腦時,也代表『學習』真正發生了,」徐臺屏強調,這正是學習的本質。
照片提供:徐臺屏老師