
比較注重資安的網站,為了避免使用者被植入木馬紀錄鍵盤輸入的紀錄,所以產生動態鍵盤這個東西,像是下圖所示這個可以讓使用者用滑鼠去點,不用透過鍵盤,然後每一個按鈕每一次的值都不一樣,所以叫做動態鍵盤.首先設定好要有的字元,也準備一個List<string>來存放每次亂數編排後的結果,跑一個迴圈長度就是剛剛設定要有的字元,然後用亂數(要夠亂)去取單一字元( substring ),丟到要存放結果的List<string>,當然要存放前要先檢查這個 List 裡面有沒有重複的字元.
1: string KBChars = "1234567890abcdefghijklmnopqrstuvwxyz";
2: List<string> RandomList = new List<string>();
3: 4: for (int i = 0; i <= KBChars.Length - 1; i++)
5: {6: do{
7: Random rand = new Random(Guid.NewGuid().GetHashCode());
8: int c = rand.Next(0, KBChars.Length);
9: string x = KBChars.Substring(c, 1);
10: } while (RandomList.Contains(x));
11: 12: RandomList.Add(x); 13: }