ACCESS數據庫找回忘了的密碼的原理

         在Access數據庫中,為了安全起見,可以為所建的數據庫設置密碼。但是,密碼忘了怎么辦?別急,這里介紹一種找回密碼的方法。
         用Access所建的數據庫,在庫文件的地址00000042處開始的13個字節是Access庫的密碼位。如果一個未加密的庫,這13個字節原始數據依次為:86 FB 37 5D 44 9C FA C6 28 E6 13。事實上,當你設置了密碼后,Access就將你的密碼(請注意你所輸入的密碼是本文字符)的ACSII碼與以上的13個字節數據進行異或操作,因此,從庫文件的地址00000042開始的13個字節就變成了密鑰了。例如,如果你設置的密碼為abc,經過異或操作后,則從00000042處開始的13個字節的數據變成了E7 99 8F 37 5D 44 9C FA C6 28 E6 13。一個數據經過一次異或操作后,再一次經過同樣的異或操作就可還原了。因此,對已經設置了密碼的Access庫,只要將13個密鑰數據與原始的13個數據進行一次異或操作就可得到密碼了。
         以下是一個C語言的破解程序:
         /*假設加密后的Access庫為myacc.mdb,并存放在C盤的根目錄下*/
         #include ″stdio.h″
         main()
         {FILE * fp
         char mm0[13]={0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13};
         /*這是13個原始數據*/
         char mml[13],mm2[13];
         /*mm1用來存放加密后的13個密鑰;mm2用來存放密碼*/
         int i,k;
         fp=fopen(″c:\myacc.mdb″,″rb″);
         if(fp=NULL){
         printf(″ 不能打開該庫!″);
         exit(0);}
         rewind(fp);fseek(fp,0x42L,0);
         fread(mm1,13,1,fp);/*讀取密鑰*/
         for(i=0;i<13;i++){
         mm2[i]=mm0[i]^mm[i];*/原始數據與密鑰異或*/
         else
         break;}
         k=1;fclose(fp);
         if(k=0)
         printf(″未設密碼!″);
         else{printf(″ 密碼是: ″);
         for(i=0;ibr>   printf(″%c,mm2[i]″);}}
         順便提一句,Access庫設置密碼時,雖然允許輸入最多14個密碼字符,但只有前13個有效。
      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 亚洲日本一区二区| 国产乱码伦精品一区二区三区麻豆| 人妻精品无码一区二区三区 | 亚洲爆乳无码一区二区三区| 国产乱人伦精品一区二区在线观看 | 无码人妻精品一区二区三区久久| 波多野结衣一区二区三区高清av | 国产福利电影一区二区三区,亚洲国模精品一区| 99精品久久精品一区二区| 国产一区韩国女主播| 精品久久久久久无码中文字幕一区| 无码精品视频一区二区三区| 久久久人妻精品无码一区| 国产乱码精品一区三上| 99偷拍视频精品一区二区| 无码人妻精品一区二区三区久久久 | 亚洲一区二区三区国产精品| 欧洲精品一区二区三区| 麻豆精品人妻一区二区三区蜜桃| 亚洲视频一区二区三区四区| 91久久精品国产免费一区 | 亚洲一区二区三区免费| 一区二区高清视频在线观看| 一区二区三区波多野结衣| 日本一区二区三区在线视频| 日本一区二区三区在线视频| 亚洲AV日韩精品一区二区三区| 免费一区二区三区四区五区| 一区二区不卡视频在线观看 | 国产肥熟女视频一区二区三区 | 精品亚洲AV无码一区二区| 精品视频一区二区三三区四区| 亚洲一区二区三区亚瑟| 精品无码综合一区二区三区| 精品国产免费一区二区| 日本一区午夜爱爱| 亚洲国产成人一区二区精品区| 亚洲国产一区国产亚洲| 欧美成人aaa片一区国产精品 | 中文字幕在线播放一区| 国产激情视频一区二区三区|