亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        access數(shù)據(jù)庫密碼找回方法詳解

        字號:


            在Access數(shù)據(jù)庫中,為了安全起見,可以為所建的數(shù)據(jù)庫設(shè)置密碼。但是,密碼忘了怎么辦?別急,這里介紹一種找回密碼的方法。
            用Access所建的數(shù)據(jù)庫,在庫文件的地址00000042處開始的13個字節(jié)是Access庫的密碼位。如果一個未加密的庫,這13個字節(jié)原始數(shù)據(jù)依次為:86 FB 37 5D 44 9C FA C6 28 E6 13。事實上,當你設(shè)置了密碼后,Access就將你的密碼(請注意你所輸入的密碼是本文字符)的ACSII碼與以上的13個字節(jié)數(shù)據(jù)進行異或操作,因此,從庫文件的地址00000042開始的13個字節(jié)就變成了密鑰了。例如,如果你設(shè)置的密碼為abc,經(jīng)過異或操作后,則從00000042處開始的13個字節(jié)的數(shù)據(jù)變成了E7 99 8F 37 5D 44 9C FA C6 28 E6 13。一個數(shù)據(jù)經(jīng)過一次異或操作后,再一次經(jīng)過同樣的異或操作就可還原了。因此,對已經(jīng)設(shè)置了密碼的Access庫,只要將13個密鑰數(shù)據(jù)與原始的13個數(shù)據(jù)進行一次異或操作就可得到密碼了。
            以下是一個C語言的破解程序:
            /*假設(shè)加密后的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個原始數(shù)據(jù)*/
            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];*/原始數(shù)據(jù)與密鑰異或*/
            else
            break;}
            k=1;fclose(fp);
            if(k=0)
            printf(″未設(shè)密碼!″);
            else{printf(″\n密碼是:\n″);
            for(i=0;ibr> printf(″%c,mm2[i]″);}}
            順便提一句,Access庫設(shè)置密碼時,雖然允許輸入最多14個密碼字符,但只有前13個有效。