本發明涉及一種微電腦密碼鎖,尤其涉及一種微電腦升位驗證密碼鎖。
背景技術:
現有的微電腦密碼鎖,用戶密碼一經設定,在身份驗證過程中密碼位固定不變,這樣有限的密碼位經不起窮舉破譯,安全性較差。為了保證安全,現在都采用限制密碼錯誤次數、輸錯密碼超過限定次數剝奪操作權限保障用戶密碼的安全性。因此,傳統微電腦密碼鎖存在一個無法統一的矛盾,用戶設置密碼面臨兩難的選擇:從安全角度考慮,密碼越長安全級別越高;但是長密碼又存在難于記憶,操作繁瑣,容易輸錯的問題;從方便用戶使用的角度考慮,密碼越短越易記,操作越方便,但是密碼越短其安全性越差。
技術實現要素:
為了解決現有微電腦密碼鎖存在的上述問題,本發明提出了一種微電腦升位驗證密碼鎖,包括:
單片機、鍵盤、按鈕、顯示器、驅動器、報警及輸入提示音電路、 電磁鎖、升位驗證密碼鎖程序。其中,所述鍵盤、按鈕、顯示器、報警及輸入提示音電路、驅動器分別與單片機相連接;
所述的單片機型號為AT89C51或其它51系列;所述鍵盤為5x5矩陣鍵盤,其列線分別與單片機P1.0-P1.4相連接; 其行線分別與單片機P3.1-P3.5相連接;鍵盤按鍵俯視面印制數字加英文字母,便于密碼用漢語拼音詞組或句子的字母編碼以便于記憶,也可用英語單詞,句子編碼;同一鍵鈕上的數字和字母鍵值相同,只是同一鍵值用兩種符號表示;所述按鈕由:復位按鈕、升位設置按鈕、密碼設置按鈕、密碼驗證輸入按鈕組成。密碼驗證輸入按鈕為外置按鈕,其余為內置按鈕,即同電路板安裝在保險箱內、室內,身份驗證通過開鎖后才能進入操作;以防止非授權者進行復位,升位設置,密碼設置等使其喪失升位驗證功能的操作。所述復位按鈕其功能是返回到升位設置按鈕、密碼設置按鈕、密碼驗證輸入按鈕的操作選擇狀態,與單片機P3.0相連接;所述升位設置按鈕其功能是設置升位參數(密碼段長度),與單片機P1.1相連接;所述密碼設置按鈕其功能是設定密碼為設置狀態,即輸入的密碼永久存儲在固定的RAM區,供密碼驗證時比對。與單片機P1.2相連接;所述密碼輸入按鈕其功能是設定密碼為驗證狀態,輸入的密碼即時與設置密碼逐位比對。與單片機P1.3相連接;復位按鈕、升位設置按鈕、密碼設置按鈕只在設置密碼和設置密碼長度參數時使用,密碼驗證輸入按鈕只在首次密碼驗證時使用;所述顯示器由驅動模塊和六位七段LED數碼管組成,與單片機P1口和P2口相連接;密碼滿6位自動清0,讓位于后續輸入的密碼顯示;所述報警及輸入提示音電路由陶瓷喇叭組成,單片機輸出電壓直接驅動,其功能是對輸入信息進行提示和輸錯密碼報警,與單片機P2.1口相連接;所述驅動器由單相可控硅及光電耦合器組成,其功能是放大單片機輸出的開鎖控制電流。可控硅陰極和陽極與電磁鎖相連接。光電耦合器發光源的引腳與單片機的P2.0相連接,光電耦合器受光器的引腳跨接于可控硅的陰極和柵極。當單片機的P2.0口輸出開鎖信號時發光源發光,受光器因光照而產生了光電流,由受光器輸出端引出,使可控硅被觸發導通,達到開鎖電流強度。所述升位驗證密碼鎖程序屬于51匯編語言,是本發明創新的核心部分,經編譯生成機器碼,燒錄在單片機的EPROM存儲器中,密碼驗證過程中產生的動態數據及用戶設置的密碼存儲在單片機的RAM存儲器;
本發明的一種微電腦升位驗證密碼鎖密碼設置及驗證過程包括:
步驟A.設置一定長度的密碼M;
步驟B.對密碼M分段:設N1、N2、N3、N4……Ni為各段密碼長度,同時N1<N2<N3<N4……<Ni;
從密碼M的第一位至第N1位的密碼段命名為M1;
從密碼M的第一位至第N2位的密碼段命名為M2;
從密碼M的第一位至第N3位的密碼段命名為M3;
從密碼M的第一位至第N4位的密碼段命名為M4;
……
從密碼的第一位至第Ni位的密碼段命名為Mi;
因N1<N2<N3<N4……<Ni,相應的M 1< M 2< M 3< M 4……< Mi;
步驟C.從鍵盤輸入設置的密碼M,送入存儲器保存;從鍵盤輸入設置的各段密碼長度參數:N1、N2、N3、N4……Ni送入存儲器保存;
步驟D.初始化設置參數;
步驟E. 用戶輸入驗證密碼段M,同存儲器里設置對應的密碼段比對,如果比對一致則執行步驟I, 否則執行步驟F;
步驟F. 判斷密碼是否升至最高位,是則執行步驟G,否則執行步驟H;
步驟G. .將升位后的驗證密碼段作為新的驗證密碼段,執行步驟E;
步驟H.密碼按照M 1→ M 2→ M 3→ M 4……< Mi的順序升位輸入驗證,將本次驗證密碼段的下一密碼段作為新的驗證密碼段,執行步驟G.;
步驟I.用戶通過密碼驗證,執行開鎖,重置密碼驗證信息,驗證過程結束。
本發明的一種微電腦升位驗證密碼鎖,可以有效解決現有微電腦密碼鎖存在的密碼使用的方便性與密碼的安全性之間難以兼頋的技術難題。
附圖說明
圖1是本發明的電路原理圖。
圖2是本發明的密碼升位驗證流程圖。
圖3是本發明實施例1的密碼分段示意圖。
圖4是本發明的矩陣鍵盤圖。
具體實施方式
下面結合附圖詳細說明本發明的一種微電腦升位驗證密碼鎖。
如圖2所示,本發明的一種微電腦升位驗證密碼鎖驗證過程,包括:
步驟A.設置一定長度的密碼M;
步驟B.對密碼M分段:設N1、N2、N3、N4……Ni為各段密碼長度,同時N1<N2<N3<N4……<Ni;
從密碼M的第一位至第N1位的密碼段命名為M1;
從密碼M的第一位至第N2位的密碼段命名為M2;
從密碼M的第一位至第N3位的密碼段命名為M3;
從密碼M的第一位至第N4位的密碼段命名為M4;
……
從密碼的第一位至第Ni位的密碼段命名為Mi;
因N1<N2<N3<N4……<Ni,相應的M 1< M 2< M 3< M 4……< Mi;
步驟C.從鍵盤輸入設置的密碼M,送入存儲器保存;從鍵盤輸入設置的各段密碼長度參數:N1、N2、N3、N4……Ni送入存儲器保存;
步驟D.初始化設置參數;
步驟E. 用戶輸入驗證密碼段M,同存儲器里設置對應的密碼段比對,如果比對一致則執行步驟I, 否則執行步驟F;
步驟F. 判斷密碼是否升至最高位,是則執行步驟G,否則執行步驟H;
步驟G. .將升位后的驗證密碼段作為新的驗證密碼段,執行步驟E;
步驟H.密碼按照M 1→ M 2→ M 3→ M 4……< Mi的順序升位輸入驗證,將本次驗證密碼段的下一密碼段作為新的驗證密碼段,執行步驟G.;
步驟I.用戶通過密碼驗證,執行開鎖,重置密碼驗證信息,驗證過程結束。
其中,所述步驟A.設置一定長度的密碼M,比較適合的長度一般為20—50位;所述步驟B.對密碼M一般分為4-6段比較合適。密碼分段的段數及各段長度參數可由軟件設置為固定值,用戶操作簡便,但是用戶不可更改,不能滿足用戶的個性化需求,也可由用戶根據需要自行設置,更具靈活性,但操作時增加了一兩步。最后一段密碼之前的各段密碼之和不要超過15位左右,以便讓用戶輸錯密碼緩慢升位。各段密碼長度按N1<N2<N3<N4……<Ni遞增,并且N1、N2、N3、N4……Ni必須≦M總長,否則系統出錯。如果N1=N2=N3=N4……=Ni便不升位,成為傳統密碼驗證方法。所述步驟C. 長度參數,即升位參數;所述步驟D. 初始化設置參數是指將密碼長度設置為N1,將當前驗證密碼段設置為M1;所述步驟E.用戶首次輸入第一段密碼,之后根據升位狀態輸入相關密碼段;所述步驟F.密碼升至最高位是指升至設置密碼M的總長度;所述步驟G.新的驗證密碼段是指本次驗證密碼段的下一密碼段;所述步驟H.密碼升位是按M1→M2→ M3→ M4……→ Mi順序進行的;所述步驟I重置密碼驗證信息是指將密碼M1作為當前驗證密碼段。
實施例1
下面再以一個具體的實例詳細說明本發明的一種微電腦升位驗證密碼鎖。
步驟A. 設置長度為20位的密碼M:64130965347945694872,并存儲于單片機的RAM用戶區,如圖3所示。
步驟B:用戶根據自己的使用需要對密碼M分段:設各段密碼長度為N1=6;N2=8;N3=10;N4=20,密碼段M1為:641309;密碼段M2為64130965;密碼段M3為:6413096534;密碼段M4為:64130965347945694872,如圖3所示。
步驟C. 按一下復位按鈕,發出“嘟”的一聲提示音,再按一下密碼設置按鈕,發出“嘟” ……的連續輸入提示音,這時從鍵盤輸入密碼M:64130965347945694872,數碼管顯示輸入的密碼;按一下復位按鈕,發出“嘟”的一聲提示音,再按一下升位設置按鈕,發出“嘟” ……的連續輸入提示音,這時從鍵盤輸入升位參數:N1=6;N2=8;N3=10;N4=20,數碼管顯示輸入的升位參數。
步驟D. 初始化設置參數:將密碼長度設置為N1:6,將當前驗證密碼段設置為M1:641309。
步驟E. 按一下輸入密碼按鈕,發出“嘟” ……的連續輸入提示音,這時從鍵盤輸入驗證密碼段M1:641355,數碼管顯示輸入的密碼,由于存儲于RAM里對應的密碼段M1是641309,驗證失敗,因此執行步驟F;(以下步驟E的輸入按鈕操作同本步驟)。
步驟F. 判斷密碼是否升至最高位,由于本次加入驗證的密碼段M1:641309為6位,未升到最高位:20位,因此執行步驟H。
步驟H.密碼升位,將本次驗證密碼段M1:641309的下一密碼段M2:64130965作為新的驗證密碼段,執行步驟G. 。
步驟G.將升位后的驗證密碼段作為新的驗證密碼段,執行步驟E。
步驟E.用戶輸入驗證密碼段M2:64130955,由于存儲于RAM里對應的密碼段M2是64130965,驗證失敗,因此執行步驟F。
步驟F. 判斷密碼是否升至最高位,由于本次加入驗證的密碼段M2 64130965為8位,未升到最高位:20位,因此執行步驟H。
步驟H.密碼升位,將本次驗證密碼段M2:64130965的下一密碼段M3:6413096534作為新的驗證密碼段,執行步驟G. 。
步驟G.將升位后的驗證密碼段作為新的驗證密碼段,執行步驟E。
步驟E. 用戶輸入驗證密碼段M3:6413096555,由于存儲于RAM里對應的密碼段M3是6413096534,驗證失敗,因此執行步驟F。
步驟F. 判斷密碼是否升至最高位,由于本次加入驗證的密碼段M3:6413096534為10位,未升到最高位:20位,因此執行步驟H。
步驟H.密碼升位,將本次驗證密碼段M3:6413096534的下一密碼段M4:64130965347945694872作為新的驗證密碼段,執行步驟G.。
步驟G.將升位后的驗證密碼段作為新的驗證密碼段,執行步驟E。
步驟E.用戶輸入驗證密碼段M4:64130965347945694855,由于存儲于RAM里對應的密碼段M4是64130965347945694872,驗證失敗,因此執行步驟F。
步驟F. 判斷密碼是否升至最高位,由于本次加入驗證的密碼段M4:64130965347945694872為20位,已升到最高位:20位,因此執行步驟G。
步驟G.將升位后的驗證密碼段作為新的驗證密碼段,執行步驟E。
步驟E. 用戶輸入驗證密碼段M4:64130965347945694872,由于存儲于RAM里對應的密碼段M4是64130965347945694872,比對完全一致,驗證成功,因此執行步驟I。
步驟I.用戶通過密碼驗證,執行開鎖:單片機P2.0口輸出高電平,光電耦合器輸出光電流,可控硅導通驅動電磁鎖開鎖;重置密碼驗證信息,將M1:641309作為新的驗證密碼段,驗證過程結束。
實施例2
下面再以一個中文句子的漢語拼音字母為設置密碼的具體實例,詳細說明本發明的一種微電腦升位驗證密碼鎖;
中文句子:感覺∣到了∣的東西∣不一定理解它只有理解了的東西才能更深刻的感覺它;
對應的拼音字母:gan jue ∣dao liao ∣de dong xi ∣bu yi ding li jie ta zhi you li jie liao de dong xi cai neng geng shen ke de gan jue ta。
步驟A. 設置長度為87位的密碼M:gan jue dao liao de dong xi bu yi ding li jie ta zhi you li jie liao de dong xi cai neng geng shen ke de gan jue ta,并存儲于單片機的RAM用戶區。
步驟B:用戶根據自己的使用需要對密碼M分段:設各段密碼長度為N1=6;N2=13;N3=22;N4=87,密碼段M1為:gan jue;密碼段M2為gan jue dao liao;密碼段M3為:gan jue dao liao de dong xi;密碼段M4為:gan jue dao liao de dong xi bu yi ding li jie ta zhi you li jie liao de dong xi cai neng geng shen ke de gan jue ta。
步驟C. 按一下復位按鈕,發出“嘟”的一聲提示音,再按一下密碼設置按鈕,發出“嘟” ……的連續輸入提示音,這時從鍵盤輸入密碼M:gan jue dao liao de dong xi bu yi ding li jie ta zhi you li jie liao de dong xi cai neng geng shen ke de gan jue ta,數碼管顯示輸入的密碼;按一下復位按鈕,發出“嘟”的一聲提示音,再按一下升位設置按鈕,發出“嘟” ……的連續輸入提示音,這時從鍵盤輸入升位參數:N1=6;N2=13;N3=22;N4=87,數碼管顯示輸入的升位參數。
步驟D. 初始化設置參數:將密碼長度設置為N1:6,將當前驗證密碼段設置為M1:gan jue。
步驟E. 按一下輸入密碼按鈕,發出“嘟” ……的連續輸入提示音,這時從鍵盤輸入驗證密碼段M1:gan ju5,數碼管顯示輸入的密碼,由于存儲于RAM里對應的密碼段M1是gan jue,驗證失敗,因此執行步驟F;(以下步驟E的輸入按鈕操作同本步驟)。
步驟F. 判斷密碼是否升至最高位,由于本次加入驗證的密碼段M1:gan jue為6位,未升到最高位:87位,因此執行步驟H。
步驟H.密碼升位,將本次驗證密碼段M1:gan jue的下一密碼段M2:gan jue dao liao作為新的驗證密碼段,執行步驟G. 。
步驟G.將升位后的驗證密碼段作為新的驗證密碼段,執行步驟E。
步驟E.用戶輸入驗證密碼段M2:gan jue dao liao,
由于存儲于RAM里對應的密碼段M2也是gan jue dao liao,比對完全一致,驗證成功,因此執行步驟I。
步驟I.用戶通過密碼驗證,執行開鎖:單片機P2.0口輸出高電平,光電耦合器輸出光電流,可控硅導通驅動電磁鎖開鎖;重置密碼驗證信息,將M1:gan jue作為新的驗證密碼段,驗證過程結束。
可以看出,采用本發明的一種微電腦升位驗證密碼鎖,密碼的合法持有者由于掌握密碼,輸錯密碼的概率很低,因此升位幾率很小,連續輸錯密碼升到最高位的幾率更小,要求輸入的是短密碼;而密碼破解者不知用戶所設置的密碼,全靠猜測試探,輸錯密碼的概率很高,三,五次便升到最高位,面對的是幾十位的長密碼;該發明有效解決了密碼的方便性和安全性的矛盾,滿足了二者的完美統一。