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