線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1231
推到 Plurk!
推到 Facebook!

請問資料庫加密後,如何在from上解密出現呢?

答題得分者是:Stallion
paa
初階會員


發表:50
回覆:101
積分:30
註冊:2005-02-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-10 21:48:35 IP:210.60.xxx.xxx 未訂閱
我已經會把資料庫裡的資料加密了,但不知怎麼解密在from的text上,想解密在from上,但資料庫裡的資料還是加密的?
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-10 22:15:48 IP:211.22.xxx.xxx 未訂閱
你的問題太含糊了,別人很難看的懂,因為加密的方法太多,把程式碼貼上來,大家研究研究吧! ----------------------------------------------- Creation is the fundation of promotion.
paa
初階會員


發表:50
回覆:101
積分:30
註冊:2005-02-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-10 22:19:13 IP:210.60.xxx.xxx 未訂閱
function Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string; var I : Byte; begin Result := ''; for I := 1 to Length(InString) do begin Result := Result CHAR(Byte(InString[I]) xor (StartKey shr 8)); StartKey := (Byte(Result[I]) StartKey) * MultKey AddKey; end; end; procedure TForm1.Button2Click(Sender: TObject); Const SourceFile = 'C:\abc.Mdb'; MaxBufSize = 255; var SrcFile : TFileStream; BufSize,Count,N ,PS: Integer; Buffer:String; begin SrcFile := TFileStream.Create(SourceFile,fmOpenReadWrite); try SrcFile.Position := 0; Count := SrcFile.Size; if Count > MaxBufSize then BufSize := MaxBufSize else BufSize := Count; SetLength(Buffer,BufSize); while Count <> 0 do begin if Count > BufSize then N := BufSize else N := Count; PS := SrcFile.Position; SrcFile.ReadBuffer(Buffer[1], N); Buffer := Encrypt(Buffer,123,123,123); SrcFile.Position := PS; SrcFile.WriteBuffer(Buffer[1],N); Dec(Count, N); end; finally SrcFile.Free; end; end; 想要解密在FRMO上出現,但資料庫裡的ACCESS資料還是加密的。
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-10 23:03:11 IP:211.22.xxx.xxx 未訂閱
我看了你得原始碼是把整個MDB檔案加密吧!?資料庫加密應該是將儲存的內容加密才是呀!加密整個檔案如果以後檔案愈來愈大,那你的程式以後可能就很不好寫了!利用現今最新的AES演算法(網路上很多可以去找),將內容加密後利用ADO或其他技術存入資料庫,欲取出時取出其加密內容後,解密回來顯示在視窗的元件中即可。 ----------------------------------------------- Creation is the fundation of promotion.
paa
初階會員


發表:50
回覆:101
積分:30
註冊:2005-02-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-10 23:22:55 IP:210.60.xxx.xxx 未訂閱
請問我要去哪找最新的AES演算法啊?是之前http://delphi.ktop.com.tw/topic.php?topic_id=28295這個方法嗎?那我原來的function Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string; var I : Byte; begin Result := ''; for I := 1 to Length(InString) do begin Result := Result CHAR(Byte(InString[I]) xor (StartKey shr 8)); StartKey := (Byte(Result[I]) StartKey) * MultKey AddKey; end; end; 這個FUNCTION就沒有用了喔~~不好意思,我是學生,是一個新手。
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-10 23:38:02 IP:211.22.xxx.xxx 未訂閱
不是FUNCTION沒用!是作法有待商榷!去搜尋引擎打一下AES或 Advance Encryption Standard你會獲得許多資訊,何謂BLOCK CYPHER,同時也會有概念怎樣加解密文件了! ----------------------------------------------- Creation is the fundation of promotion.
paa
初階會員


發表:50
回覆:101
積分:30
註冊:2005-02-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-10 23:56:34 IP:210.60.xxx.xxx 未訂閱
請問一下那可以教我如果用我寫的這個FUNCTION來對資料庫裡的內容加解密呢?adotable1.ConnectionString:='provider=microsoft.jet.oledb.4.0;data source=c:\abc.mdb;persist security info=false'; adotable1.TableName:='illness'; adotable1.Active:=true;
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-11 00:07:39 IP:211.22.xxx.xxx 未訂閱
資料庫的組成結構是 DataBase->Tables->fields(也稱Recordset)->field,你必須先要瞭解常用資料庫的結構,瞭解之後,就應知道該從field下手,但如何操作資料庫的資料集(包含新增,刪除,修改等)不是在這可以說清楚的,建議你先是市面上找本簡易的資料庫書籍來看看,順便瞭解一下SQL的語法,屆時你自然知道配合演算法該從何下手了! ----------------------------------------------- Creation is the fundation of promotion. 發表人 - stallion 於 2005/05/11 00:09:02
系統時間:2024-06-02 22:07:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!