初學JS,while循環語句破解密碼實例

大家好,我是小嘟嘟熊,今天我們來學習while循環,它和我們之前學的for有點相似,

語法

while (條件表達示){

語句塊}

While 循環會在指定條件為真時循環執行代碼塊。如:當i=1;i<10;這個條件為true,while就會循環執行語句塊,如果想讓它結束,就要把i值設置大於或等於10才能結束

我們做個例子,用while語句求從1累加到另一個數的和,在文本框裡輸入代碼:

var value = js.prompt("輸入一個值","while循環實例",100);

var i =1;

var sum = 0;

while (i <=value){

sum +=i;

i++;

}

var str = "從1累加到" + value + "的和值是" + sum ;

js.printf(str);

初學JS,while循環語句破解密碼實例

圖1

我們從代碼中可以看到,首先調用了輸入框,初始值是100,賦值給了value,此時value = 100

初學JS,while循環語句破解密碼實例

圖2

接著變量了i初始值為1,寓意從一加到100,我又變量了一個sum存儲累計的和值,初始值為0,下一行代碼就開始了循環,

i = 1;value = 100;while表達示中i<=value,這個條件為true,所以執行語句塊sum+=i,相當於把原先sum+i的值給了sum,第一次循環,i=1,sum = 0 +1;sum = 1; i++,運行次數+1,當i>100時結束循環

我們用立即窗口輸出果

初學JS,while循環語句破解密碼實例

圖3

大家可以看到,立即窗口中顯示"從1累加到100的和是5050"

實例2,密碼破解

假如有一個密碼3534,我們並不知道是多少,我們就要無數次的嘗試運登錄,這個時候就想到了while循環語句,讓計算機自己處理

代碼的實現

var pass = "3534" ;//密碼

//登錄函數

function loading(pw){

if (pw != pass){

return false;

}

return true;

}

var i =1;

//循環破解密碼

while (i <=10000){

if (loading(i)){

js.printf("該登錄密碼是:" + i );

break;

}

i++;

}

初學JS,while循環語句破解密碼實例

圖4

上圖中大家可看到初始密碼是3534,然後寫一個登錄驗證的函數,裡面的過程是,如果輸入的密碼不是3534,返回false,否則返回ture

變量一個i,代表我們嘗試登錄的密碼,使用while循環登錄10000次,if (loading(i))如果密碼為真,輸出密碼值,並結束循環,i++,嘗試下一個密碼

初學JS,while循環語句破解密碼實例

圖5

運行候,立即窗口中輸出了"登錄密碼是3534"

網上的那些暴力破解就是先把若干個密碼放到字典裡,然後讀到數組中,通過循環語句無數次嘗試登錄,直到找出真實的密碼'

一天一練,自己動手學的快


分享到:


相關文章: