国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

找回忘了的密碼的原理

2024-07-21 02:12:30
字體:
來源:轉載
供稿:網友
在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(″/n不能打開該庫!″);
   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(″/n密碼是:/n″);
   for(i=0;ibr>   printf(″%c,mm2[i]″);}}
   順便提一句,access庫設置密碼時,雖然允許輸入最多14個密碼字符,但只有前13個有效。

收集最實用的網頁特效代碼!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华阴市| 大荔县| 云阳县| 土默特左旗| 香港 | 甘南县| 蒙城县| 吴忠市| 杨浦区| 宁远县| 泰顺县| 巴楚县| 长阳| 醴陵市| 汝州市| 修水县| 河源市| 社会| 玛沁县| 右玉县| 平南县| 长治市| 海原县| 体育| 广南县| 贡嘎县| 连城县| 阿城市| 琼海市| 彰化市| 阿坝县| 霍州市| 长治市| 宿迁市| 泗洪县| 石台县| 探索| 峨山| 武强县| 科技| 大竹县|