當前位置:首頁 » 編程語言 » c語言窮舉密碼

c語言窮舉密碼

發布時間: 2022-07-29 17:15:13

c語言能給個窮舉、迭代、遞推的舉例(要有分析)。。。

窮舉的意思能簡單, 就是'一個個猜過去'
比如要破解一個8位數的密碼, 就是從00000000到99999999的全部數字一個個試過去
這點數字對現在的計算機來說幾乎不要時間

迭代是指循環運算, 比如
for ( int i = 0; i < 99999999; ++i) 這個循環就叫做迭代

至於遞推, 以下抄自網路

遞推演算法是一種用若干步可重復的簡運算(規律)來描述復雜問題的方法. 遞推是序列計算機中的一種常用演算法。它是按照一定的規律來計算序列中的每個項,通常是通過計算機前面的一些項來得出序列中的指定象的值。其思想是把一個復雜的龐大的計算過程轉化為簡單過程的多次重復,該演算法利用了計算機速度快和不知疲倦的機器特點。

植樹節那天,有五位同學參加了植樹活動,他們完成植樹的棵樹都不相同。問第一位同學植了多少棵時,他指著旁邊的第二位同學說比他多植了兩棵;追問第二位同學,他又說比第三位同學多植了兩棵;... 如此,都說比另一位同學多植兩棵。最後問到第五位同學時,他說自己植了10棵。到底第一位同學植了多少棵樹?

分析:設第一位同學植樹的棵樹為a1,欲求a1,需從第五位同學植樹的棵數a5入手,根據「多兩棵」這個規律,按照一定順序逐步進行推算:
(1) a5=10;
(2) a4=a5+2=12;
(3) a3=a4+2=14;
(4) a2=a3+2=16;
(5) a1=a2+2=18;

遞推演算法以初始(起點)值為基礎,用相同的運算規律,逐次重復運算,直至運算結束。這種從「起點」重復相同的方法直至到達一定「邊界」,猶如單向運動,用循環可以實現。遞推的本質是按規律逐次推出(計算)先一步的結果。

㈡ C語言窮舉法

為啥它們范圍會這樣取,為啥x會從1-14,這是需要仔細推算的。因為本題的計算量很小,有時就圖自己省力(少算一點)讓計算機多算一點。

因為x至少是1,而y>x,z>y,為簡單起見,而x、y、z的單價分別為a、b、c,所以,ax+by+cz=800

而ax+by+cz>ax+bx+cx

所以,800>(a+b+c)x

x<800/(30+20+10),即x<=13(取整數)

同樣的道理,y最小是2,800=30+20y+10z>30+20y+10y,y最大=770/30=25

㈢ c語言:輸入六位數字密碼作為破解目標,用窮舉法編程,輸出破解成功是第幾次

破解成功是第幾次關鍵是看演算法怎麼做,從左到右窮舉和從右到左窮舉結果互補

#include<stdio.h>
#defineFor(i,flag)for(i=0;i<=9&&flag==0;++i)
intmain()
{
inta[6];
intcount=1,flag=0;
charpassword[7];
scanf("%s",password);

For(a[0],flag)
For(a[1],flag)
For(a[2],flag)
For(a[3],flag)
For(a[4],flag)
For(a[5],flag)
{
if(password[0]==a[0]+'0'&&password[1]==a[1]+'0'&&password[2]==a[2]+'0'
&&password[3]==a[3]+'0'&&password[4]==a[4]+'0'&&password[5]==a[5]+'0')
{
flag=1;
break;
}
else
++count;
}
printf("%d",count);

return0;
}

㈣ c語言中,總結窮舉法適合求解的問題類型

窮舉法用於數據亂序或者沒有太好辦法時,羅列出所有可行答案來篩選。典型的適用窮舉法的編程初學問題有:百雞問題、順序查找、密碼的暴力破解等。 窮舉法的思路是,列舉出所有可能的情況,逐個判斷有哪些是符合問題所要求的條件,從而得到問題的解答。用於解決「是否存在」和「有多少可能性」等類型問題。 窮舉法一般用循環或循環嵌套結構實現,要注意循環的起點和終點,對可能的情況不能遺漏,一般也不應重復。 1、窮舉法的基本思路是把問題涉及的可能情況一一羅列出來,並且根據題目的條件和實際背景逐個作出判斷,從中挑選出符合條件的解答。 2、使用窮舉法時,要恰當地設計變數,並且決定用哪些變數作為搜索的主線,以便窮舉出所有可能情況。 3、窮舉一般使用循環結構,要注意循環的起點和終點,對可能的情況不能遺漏,一般也不應重復。 4、編製程序時,還應當根據題目要求准確地寫出是否符合條件的判斷語句。

㈤ 一個兩位純數字密碼破解程序怎麼編,用C語言

1、數據范圍小的密碼可以使用窮舉法。這里從00到99,當作字元來處理,需要兩重循環。

2、常式:

chara,b,c='1',d='2';//這里變數c,d表示密碼的第一位和第二位。
charkey[2];
for(a='0';a<='9';a++){
for(b='0';b<='9';b++){
key[0]=a;
key[1]=b;//這就是一個密碼
if(key[0]==c&&key[1]==d)printf("密碼是:%s",key);//找到密碼並輸出
}
}

㈥ c語言的窮舉法

20個5分的是1元
50個2分的是1元
100個1分的是1元
上面定義的是這三種面值的銀幣不能超過的數量~
必須小於這些數量,要不然不就超過1元了,就不符合題意了~~

㈦ C語言中窮舉法可以解決哪些問題舉三個以上例子

窮舉法用於數據亂序或者沒有太好辦法時,羅列出所有可行答案來篩選:1 百雞問題2 順序查找3 密碼的暴力破解C語言中窮舉法可以解決哪些問題?舉三個以上例子?

㈧ 用c語言窮舉

#include <stdio.h>
void main()
{
int a[100]={0};
int i,j,k,m,n=0,z;
printf("輸入數字,每次回車為一個,以-1為結束數字\n");
for(i=0;i<100;i++)
{
scanf("%d",&a[i]);
n++;
if(a[i]==-1)
{
break;
}
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-2-i;j++)
{
if(a[j]>a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
printf("排序後的數字是:\n");
for(i=0;i<n-1;i++)
printf("%d\n",a[i]);

printf("請輸入要插入的數字");
scanf("%d",&m);
for(i=0;i<n-1;i++)
{
if(a[i]<=m && a[i+1]>m)
{
z=i;
break;
}
else
{
z=-2;
}
}
if(z>=0)
{
for(i=n-1;i>z;i--)
{
a[i+1]=a[i];
}
a[z+1]=m;
}
if(z==-2)
{
a[n]=m;
}
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
}

㈨ 在qq登錄界面 輸入帳號後 怎麼用窮舉法破解密碼 請給出c語言編程實例 僅供參考

用電腦密碼破解技巧
·CMOS密碼破解

網管員在維護和使用電腦時,經常會遇到各種密碼丟失的問題,這里,我們就為廣大網管員准備了一些破解密碼的方法,但是希望大家不要干壞事哦。開機密碼是我們最先要遇到的因此我們就先從CMOS密碼破解講起。雖然CMOS種類各異,但它們的加密方法卻基本一致。一般破解的方法主要從「硬」和「軟」兩個方面來進行。

一、CMOS密碼破解

使用電腦,首先需要開機。因此開機密碼是我們最先要遇到的。雖然CMOS種類各異,但它們的加密方法卻基本一致。一般破解的方法主要從「硬」和「軟」兩個方面來進行。

1.「硬」解除方法

硬體方法解除CMOS密碼原理是將主板上的CMOSRAM進行放電處理,使存儲在CMOSRAM中的參數得不到正常的供電導致內容丟失,從而起到解除CMOS密碼的目的。一些報刊對如何破解CMOS密碼的通常做法,如跳線短接法和電池短接法已有較多介紹,操作起來也十分方便。但我們這里要介紹的是個另類技巧,這也是一些電腦DIY們很喜歡用的方法。方法也很簡單:打開機箱,將硬碟或光碟機、軟碟機的數據線從主板上拔掉,然後再啟動計算機,BIOS會在自檢時報告錯誤並自動進入CMOS,此時就可以重新設置BIOS內容了。

2.「軟」解除方法

嚴格地說,「軟」解除CMOS密碼沒有「硬」解除方法那麼徹底,但也十分奏效。CMOS密碼根據需要,可設為普通級用戶密碼和超級用戶級密碼兩種。前者只是限制對BIOS的修改,可以正常啟動電腦和運行各類軟體,而後者則對進入電腦和BIOS完全禁止。

1) 破解普通用戶密碼

首先用DOS啟動盤啟動電腦,進入DOS狀態,在DOS命令行輸入debug回車,然後用所列的其中任何一種方法的數據解除CMOS密碼,重新啟動電腦,系統會告訴你CMOS參數丟失,要求你重新設定CMOS參數。經過試驗,這是一種很有效的方法。「-」後面的字母「O」,表示數值輸出的地址,70和10都是數值。

2) 破解超級用戶密碼

這里我們需藉助外部工具。我們選用最為經典的BiosPwds,是一款免費軟體,比較適合對DOS不太熟悉的電腦用戶,很久以前就為人們所熟知,只要輕輕一點,就會將用戶的CMOS密碼顯示出來。工具最新版本1.21,127KB,免費下載地址:http://bj2.onlinedown.net/soft/8107.htm。下載解壓後,雙擊該軟體的執行文件,在出現的界面中點擊「Getpasswords」按鈕,稍等二、三秒即會將BIOS各項信息顯示於BiosPwds的界面上,包括:Bios版本、Bios日期、使用密碼等,這時你便可以很輕松地得知BIOS密碼。

·破解系統密碼

二、破解系統密碼

系統密碼是你登錄到操作系統時所使用到的密碼,它為你的計算機提供了一種安全保護,可以使你的計算機免受非法用戶的使用,從而保障電腦和機密數據的安全。

1. Windows98/ME的系統登錄密碼

① 取消法

最簡單的一種方法是在系統登錄要求輸入密碼時,你什麼也不用輸入,直接點擊取消,可以進入操作系統。但用此種方法只能訪問本機的資源,如果計算機是區域網的一部分,你將不能訪問網路資源。

② 新增使用者

當你由於密碼問題被擋在系統之外時,不妨為系統再新增一個使用者,然後重新登錄,一樣可以登錄系統並訪問系統或網路資源。單擊「開始」/「設置」/「控制面板」,然後雙擊「用戶」,打開「用戶屬性」對話框。接著,根據提示依次輸入「用戶名」、「密碼」、「個性化項目設置」中所需的內容,最後單擊「完成」。

③ 刪除"PWL"文件

刪除Windows安裝目錄下的 .PWL密碼文件和Profiles子目錄下的所有個人信息文件,然後重新啟動Windows,系統就會彈出一個不包含任何用戶名的密碼設置框,我們無需輸入任何內容,直接點擊"確定"按鈕,Windows密碼即被刪除。

④ 修改注冊表

運行注冊表編輯器,打開注冊表資料庫"HKEY_LOCAL_MACHINE\Network\Logon"分支下的"username"修改為"0",然後重新啟動系統,也可達到去掉密碼的目的。

2. 破解WindowsNT密碼

如果你有普通用戶賬號,有一個很簡單的方法獲取NTAdministrator賬號:先把c:\winntsystem32下的logon.scr改名為logon.old備份,然後把usrm gr.exe改名為logon.scr再重新啟動。logon.scr是系統啟動時載入的程序,重新啟動後,不會出現以往的登錄密碼輸入界面,而是用戶管理器,這時你就有許可權把自己加到Administrator組。

3. Windows2000密碼

啟動盤啟動電腦或引導進入另一操作系統(如Windows98),找到文件夾"X:\DocumentsandSettings\Administrator"(X為Windows2000所在磁碟的盤符),將此文件夾下的"Cookies"文件夾刪除,然後重新啟動電腦,即可以空密碼快速登錄Windows2000。

4. 破解WindowsXP的密碼

在啟動WindowsXP時按F8鍵選擇帶命令行的安全模式,使用net命令可以對用戶身份進行操作。具體步驟如下:使用命令"netuserabcd/add"添加一名為abcd的用戶,使用命令"/add"將用戶abcd提升為管理員,重新啟動電腦,用abcd身份登錄,最後對遺忘密碼的用戶進行密碼修改即可。

·破解常用軟體密碼

三、破解幾個常用軟體密碼

目前,更多的用戶懂得了利用電腦軟體對自己的一些儲存在電腦中的信息進行加密操作,使無權閱讀的人無法輕松打開這些重要資料。下面就讓我們一塊看一下幾個常用軟體密碼的解除:

1. 破解WPS系列密碼

如果你是合法用戶,在忘卻密碼時,啟動WPS程序,點擊「文件」/「密碼設置」菜單,在出現的密碼設置對話框中可以看到原密碼會自動以「 」號的方式出現在「密碼」文本框中,點擊「清除」按鈕,再在隨後出現的提示框中點擊「確認」按鈕,該加密文件的密碼已經被清除了。以後再次打開該文件就不再需要輸入密碼了。如果你不是合法用戶就只能藉助有關工具進行破解。現在破解WPS密碼的軟體很多,但論其功能強大,破解速度快就要數國產的Edward』sWPS2000PasswordRecovery了。該工具破解WPS密碼採用的是破解密碼的常見的方法———窮舉法。使用步驟如下:首先,在程序界面中的「En cryptedWPS2000file」的文本框中通過右側的「瀏覽」按鈕加入需破解的WPS加密文件;然後選擇密碼破解方法,該軟體有以下幾種密碼破解方式:Brute-force(強力攻擊)、Dictionary(字典攻擊)、mask(掩碼搜索)等等,一般選用「Brute-force」(強力破解)法;接著在「Brute—forceRangeOptions」列表框中選擇破解密碼可能包含的密碼范圍,例如:大小寫字母、數字、是否有空格、特殊字元等;此外還要指定密碼長度,如6位或更長;最後,當上述幾項設置完畢後,請點擊"RUN"選項,密碼很快得以破解。

2. 破解Word文檔密碼

可能是微軟的Office太引人注目了,針對它的破解軟體非常多。下面先讓我們來看看如何破解它的文檔密碼。我們選用一款國產的軟體「97/2000/XP密碼查看器」,這是一款僅有29KB大小的微型簡體中文的Word密碼解除軟體。此軟體無需安裝,雙擊可執行文件即可。該工具可以破解Win dows9X/NT/2000/XP全系列的文檔密碼,可以查找最多13位的密碼(未注冊版只支持3位),使用「字典式」窮舉法破解。使用時在程序中點擊「文件」/「打開」命令加入需破解文檔;在「任務屬性」中設置密碼類型,建議將幾個選項全部選中;填寫密碼長度;點擊「確定」返回主界面,選擇"操作"/"開始破解命令即可進行密碼破解。

3. 破解Excel文檔

我們選用一個叫的工具,614K,最近版本1.01,它可以迅速破解Ex cel文件的密碼。Ad vancedExcel97PasswordRecovery下載後需要安裝,安裝完畢後打開其程序主界面,通過瀏覽按鈕打開需要解密的電子表格文檔,選擇密碼長度,設置密碼類型,最後點擊藍色的開始破解按鈕,稍等片刻會彈出文檔密碼已被破解的提示菜單。

4.破解QQ密碼

我們使用一個叫「OICQ密碼終結者」的工具。使用步驟如下:首先要設置你的OICQ的安裝目錄;接著選擇搜索用的字元集,例如選上圖中小寫字母的字元集,就選中小寫字母前的復選框或將"基本設置"下面的所有方框全部選中;然後設置搜索密碼的位數,建議不要太長,例如8位,那就需要很長時間,不知你有沒有耐心;最後單擊"開始"按鈕即可進行OICQ的密碼破解。據網上高手稱Oicqpassovcr的窮舉速度可以達到每秒鍾數千次,如果你想破解的QQ密碼只是4-5位的話,我想在幾分鍾之內Oicqpassover就可以破解密碼了。

·破解網路密碼

四、破解網路密碼

網路正悄然而迅速地走進我們的日常生活。但作為普通的網路用戶,人們都有一種共同的憂慮,就是網路的安全隱患。於是不得不對個人網路活動採取有效的保護措施——加上各種密碼。但這些密碼一旦遺忘,成為我們進行工作的大礙。下面是一些有關網路密碼的破解技巧。

1. 破解上網賬號與密碼

作為日常上網的橋梁,我們每個人都需要在上網時進行上網賬號與密碼的設置,這樣才能登錄網路。利用一些工具軟體獲得賬號並不是很難的事情,甚至可以說是一件輕而易舉的事情。這里我們藉助一個叫GetIP的工具,這是個由國人劉驥設計開發的「口令密碼」識別軟體。GetIP能夠幫助我們將那些代表口令的密碼「***」號還原成真實的口令。如果你需要該軟體,可到作者的主頁http://brain.zb169.net/免費下載。GetIP使用十分簡單,運行GetIP.exe可執行文件,出現程序界面,將滑鼠指向「點擊(放大鏡)處並拖動」,用滑鼠拖著移動到想要得知的密碼處,真實的密碼口令就會立即反應到"文本"框中。

2. 破解IE分級審查密碼

IE瀏覽器提供了分級審查功能,它可以在用戶的設置下對某些網頁進行過濾,只有知道分級審查功能密碼的用戶才能查看相關網頁的信息。如果遺忘了分級審查功能的密碼,不但不能訪問受到限制的站點,而且不能更改已有的限制級別,重裝IE也沒有用,怎麼辦?啟動注冊表編輯器,找到「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ratings」子鍵,找到一個名叫"KEY"的鍵值項,它就是用戶設置IE分級審查口令(數據已經加密),用戶只需刪除該鍵值就可以取消分級審查口令,然後重新設置IE分級審查密碼即可。

3. 破解OE密碼

在OE程序中有三種密碼:郵箱密碼、新聞組密碼和用戶身份確認密碼。下面我們以一個叫「密碼截取」(3.1特別版)的軟體,可運行於WIN9X/2000/NT/XP,110KB,可到http://gaoasp.diy.163.com/處下載。軟體可以用於破解Web的郵箱密碼、POP3收信密碼、FTP登錄密碼,並將密碼顯示、保存,或發送到用戶指定的郵箱。密碼截取過程:密碼截取軟體將截取到的密碼輸入框中的密碼(如撥號連接、OICQ、IE中的密碼),以密碼明文形式保存在用戶自定義的文件中(預設為c:\password.txt),如果沒有截取到密碼,密碼文件將不存在。同時可以將獲取到的密碼發送到用戶指定的郵箱中。密碼截取2.8支持的操作系統:Windows9X/NT/2000。該軟體不需安裝,下載並解壓後,直接雙擊getpassword.exe運行,點擊圖中的"郵件設置"選項,設置將截取到的密碼發向指定信箱,接著點擊"密碼文件"選項,設置將截取到的密碼保存在本機的c:\password.txt中,以便隨時查看。

4. 破解Foxmail密碼

有相當多的用戶,使用簡單卻功能強大Foxmail做郵件接收工具。但是由於Foxmail本身的安全隱患,一些人只須新建一個賬戶後,進入Foxmail預設的安裝目錄下,將新建的賬戶目錄下的「account.stg」文件復制後將賬戶文件覆蓋,所建立的賬戶密碼就會被清除。

㈩ 什麼是c語言裡面的窮舉法

假如有有一個賬號登錄需要六位數字密碼,你可以編一個程序把所有可能的數字按順序輸入直到正確的那個為止。
如果有字母就把字母的可能性也加上。
如果密碼太復雜,電腦在強大也需很長時間解決,窮舉法用於簡單的破解。

熱點內容
安卓是什麼意思是vivo嗎 發布:2025-01-24 11:01:32 瀏覽:486
懸賞網源碼 發布:2025-01-24 10:53:14 瀏覽:733
c語言時間變數 發布:2025-01-24 10:40:24 瀏覽:869
ppiandroid 發布:2025-01-24 10:25:50 瀏覽:1001
兒童壓縮機 發布:2025-01-24 10:25:09 瀏覽:75
蘋果的允許訪問在哪裡 發布:2025-01-24 10:24:32 瀏覽:32
橡皮艇存儲 發布:2025-01-24 10:21:56 瀏覽:772
360的新機什麼配置 發布:2025-01-24 10:04:22 瀏覽:952
榮耀10方舟編譯器不卡頓了 發布:2025-01-24 09:59:59 瀏覽:503
章魚腳本助手 發布:2025-01-24 09:55:10 瀏覽:335