999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

防窺視密碼檢測程序設計

2008-12-31 00:00:00魏西軍
電腦知識與技術 2008年36期

摘要:在公共場合中使用密碼,輸入過程可能被別人窺視,發生密碼被竊取的問題。該文從密碼設置本身出發,提出防止密碼在輸入過程中被竊取的三種解決方案,分別是在密碼前后添加引導碼、根據系統時間算密碼、根據隨機數算密碼等方案,并針對每一種方案,提出相應的編程方法。實踐證明在密碼輸入過程中,大大提高了密碼的安全性。

關鍵詞:密碼;防窺視;檢測程序

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)36-3044-03

Design of Testing Programs for Peep Preventing Codes

WEI Xi-jun

(Experiment and Training Center,Taizhou Teachers College,Taizhou 225300,China)

Abstract: Codes might be peeped and then plundered when input in public places. With combination of their setting this paper produces three solutions to the problem, namely, adding boot codes immediately before or after original ones、calculating codes according to the time of the system or calculating codes according to random numbers. Additionally, it suggests programming methods accordingly. These solutions prove to be of great help in enhancing the safety of codes in the process of inputting them.

Key words: code; peep prevention; testing program

現在的各種電子信息產品的密碼設計,注重密碼的復雜程度及加密傳輸存儲,而忽略了密碼的輸入過程,舉個例子:當你在銀行取款機上取款時,輸入密碼之前你都要環顧一下左右,以防別人窺視你輸入的密碼。那么有沒有辦法,設計這樣一種密碼,讓別人看著我輸入,他也無法知曉我的密碼呢?筆者就此問題,設計出如下三種解決方案,并就每種方案給出密碼檢測程序。

1 前后添加引導碼

1.1 思路描述

由于密碼的位數有限,別人容易記住,那么將密碼位數增加許多,別人不就記不住了。但是,增加了密碼位數,會讓使用者難以記憶,在輸入的過程中還可能出錯,給使用者增加了許多麻煩。假如我們不增加密碼的位數,而在密碼的前后增加一些隨機的不定長度的引導碼,讓窺視者不知道真正的密碼是從哪一位開始,這樣就解決了問題。密碼輸入形式如圖1:

1.2 程序設計

密碼檢測程序中,我們設計輸入的總位數為18位,密碼長度為6位,在VB編程中設計一個文本輸入框Text1和一個確認按鈕Command1,變量Tx1中保存已設定的密碼,程序如下:

Private Sub Text1_KeyPress(KeyAscii As Integer)

counter = counter + 1

'密碼檢測

If counter <= 18 Then

If coun < Len(Tx1) Then

If KeyAscii = Asc(Mid$(Tx1, coun + 1, 1)) Then coun = coun + 1 Else coun = 0

End If

Else

coun = 0

End If

'在文本框中顯示*

KeyAscii = 42

End Sub

Private Sub Command1_Click()

counter = 0

If coun = Len(Tx1) Then

Print\"密碼正確\"

Else

Print\"密碼錯誤\"

End If

coun = 0

End Sub

1.3 優缺點描述

該方案優點是前后加入的引導碼位數和內容是任意的,便于用戶輸入,熟練的用戶可以做到在輸入的過程中沒有停頓,增加了密碼的安全性。缺點是在輸入過程中如被視頻記錄,仍舊無法逃避密碼被破解的境遇,且總的輸入位數不能太多,否則會降低密碼安全性。

2 根據系統時間算密碼

2.1 思路描述

由于別人破解密碼需要時間,我們可以利用時間差,讓輸入的密碼具有時效性,在一段時間后,此密碼自行失效,再通過某種方法再生出新的密碼。無疑系統時間是我們再生密碼的最好種子。給用戶一種算法,在使用系統前,根據系統時間,預先算好密碼,再在系統中輸入。

2.2 程序設計

密碼檢測程序中,我們設計了一個文本輸入框Text2和一個確認按鈕Command2,還設計了一個定時器timer1,用以將實時時間在文本框中顯示給用戶,變量Tx2中保存根據實時時間計算得到的密碼,程序如下:

Private Sub Form_Load()

Text3.Text = Date \"\" Time

End Sub

Private Sub Text2_GotFocus()

Timer1.Enabled = False

Tx2 = Format(Mid$(Year(Now), 3, 2) + Month(Now) + (Day(Now) Mod 8) * 10, \"00\") _

Format((Hour(Now) Mod 10) * 10 + Hour(Now) Mod 9, \"00\") Abs(Minute(Now) - 30)

Text2.Text = \"\"

End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)

counter = counter + 1

'密碼檢測

If counter <= 18 Then

If coun < Len(Tx2) Then

If KeyAscii = Asc(Mid$(Tx2, coun + 1, 1)) Then coun = coun + 1 Else coun = 0

End If

Else

coun = 0

End If

'在文本框中顯示*

KeyAscii = 42

End Sub

Private Sub Command2_Click()

counter = 0

If coun = Len(Tx2) Then

Print\"密碼正確\"

Else

Print\"密碼錯誤\"

End If

coun = 0

Timer1.Enabled = True

Text2.Text = Date \"\" Time

End Sub

程序中,密碼是根據實時時間計算所得,計算方法根據用戶要求設定。由于每次使用時,都要計算密碼,增加了用戶使用難度,因此,既要考慮密碼的靈活性,又要降低密碼計算的復雜程度,密碼計算公式很重要。上述程序中,密碼由三部分組成,第一部分密碼根據年月日計算所得,第二部分密碼根據小時計算所得,第三部分密碼根據分鐘計算所得,用戶可以預先計算好前兩部分密碼,在輸入前只要計算機第三部分密碼,這樣就減少了計算密碼的麻煩。

2.3 優缺點描述

該方案除具有第一種方案的優點外,使密碼具有時效性,因而增強了密碼的安全性。但此方案仍舊具有第一種方案的缺點,破解者如在規定時間里快速作出反應,同樣有破解密碼的可能性。另外,此方案要求系統時間不能被人為修改,否則就失去了時效性。

3 系統給出隨機密碼種子

3.1 思路描述

前兩種方案降低了密碼被破解的可能性,但當別人完全記錄你輸入密碼的過程,仍舊可以輕松地破解你的密碼。那么,我們設計一個密碼系統,讓用戶每次輸入的密碼只能使用一次,這就解決了所有問題。具體做法是:給用戶一種算法,用戶每次使用系統時,系統顯示一個隨機數,用戶憑此隨機數用給定算法計算出密碼,由于系統每次產生的隨機數不相同,因而密碼也不相同。

3.2 程序設計

密碼檢測程序中,我們設計了一個文本輸入框Text3和一個確認按鈕Command3及變量Tx3。程序初始化時,在文本框中顯示一個六位的隨機數,用戶根據這六位數計算密碼并輸入。程序如下:

Private Sub Form_Load()

Randomize

Text3.Text = Fix((90000 * Rnd) + 100000)

End Sub

Private Sub Text3_GotFocus()

Tx3 = (Mid$(Text3.Text, 1, 1) + 5) Mod 10 _

(Mid$(Text3.Text, 2, 1) + 8) Mod 10 _

(Mid$(Text3.Text, 3, 1) + 4) Mod 10 _

(Mid$(Text3.Text, 4, 1) + 2) Mod 10 _

(Mid$(Text3.Text, 5, 1) + 1) Mod 10 _

(Mid$(Text3.Text, 6, 1) + 6) Mod 10

Text3.Text = \"\"

End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)

counter = counter + 1

'密碼檢測

If counter <= 18 Then

If coun < Len(Tx3) Then

If KeyAscii = Asc(Mid$(Tx3, coun + 1, 1)) Then coun = coun + 1 Else coun = 0

End If

Else

coun = 0

End If

'在文本框中顯示*

KeyAscii = 42

End Sub

Private Sub Command3_Click()

counter = 0

If coun = Len(Tx2) Then

Print\"密碼正確\"

Else

Print\"密碼錯誤\"

End If

coun = 0

Randomize

Tx3 = Fix((90000 * Rnd) + 100000)

Text3.Text = Tx3

End Sub

本例中,密碼計算方法是對隨機數的每位進行加權再求余,權值可以按用戶的要求進行設置,也可以將計算方法再進行個性化設計。在用戶輸入過程中,如能繼續顯示種子數,將更方便用戶計算輸入。

3.3 優缺點描述

此方案類似于某些銀行的網銀密碼系統,完全杜絕密碼重復利用的可能性。但也存在一個比較明顯的缺點,由于用戶要根據系統給出的隨機數計算密碼,算法簡單易于用戶使用,但保密性不夠,算法復雜用戶計算麻煩,但安全性高,所以應根據用戶要求,給出一個比較合理的個性化的算法。

4 結束語

該文僅討論了加強密碼輸入過程中的安全性,并針對解決方案進行編程測試,并沒有涉及到密碼的其它安全要求,實際應用中還要考慮諸多方面的安全因素,比如密碼的安全存儲,防暴力破解密碼,密碼檢測程序的反跟蹤等。

參考文獻:

[1] 辜川毅.計算機網絡安全技術[M].北京:機械工業出版社,2005.

[2] 駱娟,劉韜.Visual Basic 6.0實效編程百例[M].北京:人民郵電出版社,2002.

[3] 李鴻吉. Visual Basic 6.0中文版編程方法詳解[M].北京:科學出版社,2001.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文?!?/p>

主站蜘蛛池模板: 视频一区视频二区日韩专区 | 国产精品黑色丝袜的老师| 婷婷六月综合| 91美女视频在线| 久久网欧美| 欧美精品1区2区| 成人在线综合| 成人日韩精品| 美女一区二区在线观看| 亚洲欧美在线综合图区| 亚洲无码高清免费视频亚洲 | 中文国产成人精品久久| 亚洲一区二区无码视频| 亚洲午夜天堂| 欧美 亚洲 日韩 国产| 亚洲国产精品一区二区第一页免 | 香蕉久人久人青草青草| 国产精品网拍在线| 亚洲啪啪网| 最新国产成人剧情在线播放| 欧美亚洲国产精品第一页| 国产成人精品免费视频大全五级| 欧美日韩中文字幕在线| 欧美色亚洲| 欧美中日韩在线| 2021精品国产自在现线看| 日本91在线| 亚洲一区二区精品无码久久久| 9cao视频精品| 国产精品一老牛影视频| 大香伊人久久| 欧美三级不卡在线观看视频| 欧美综合成人| 国内99精品激情视频精品| 久久先锋资源| 国产不卡一级毛片视频| 久久 午夜福利 张柏芝| 亚洲综合二区| 91啪在线| 色天天综合| 999精品视频在线| 久久综合伊人77777| 91视频区| 国产剧情一区二区| 国产欧美专区在线观看| 国产精品观看视频免费完整版| 国产H片无码不卡在线视频| 亚洲AV成人一区国产精品| 中日韩一区二区三区中文免费视频 | 亚洲天堂区| 午夜精品区| 无码在线激情片| 久久这里只有精品8| 97色伦色在线综合视频| 色成人亚洲| 国产内射一区亚洲| 99这里只有精品6| 91青青视频| 亚洲天堂免费在线视频| 国产精选小视频在线观看| 精久久久久无码区中文字幕| 亚洲制服丝袜第一页| 日韩黄色大片免费看| 久视频免费精品6| 色综合五月| 国产成人亚洲无吗淙合青草| 久久久精品久久久久三级| 欧美人与牲动交a欧美精品| 亚洲IV视频免费在线光看| 欧美激情视频二区三区| 日韩不卡高清视频| 亚洲欧洲日产国码无码av喷潮| 亚洲高清在线播放| 亚洲AV无码久久天堂| 99精品国产电影| 免费国产小视频在线观看 | 欧美第一页在线| 99在线观看视频免费| 久久伊伊香蕉综合精品| 久久99久久无码毛片一区二区| 玩两个丰满老熟女久久网| 国产成年无码AⅤ片在线|