導航:首頁 > 源碼編譯 > delphi演算法大全

delphi演算法大全

發布時間:2023-02-26 09:17:30

⑴ delphi 加密演算法

我用的加密解密
function EncryptString(Source, Key: string): string;
//對字元串加密(Source:源 Key:密匙)
var
KeyLen: integer;
KeyPos: integer;
Offset: integer;
Dest: string;
SrcPos: integer;
SrcAsc: integer;
Range: integer;
begin
KeyLen := Length(Key);
if KeyLen = 0 then
Key := 'delphi';
KeyPos := 0;
Range := 256;
randomize;
Offset := random(Range);
Dest := format('%1.2x', [Offset]);
for SrcPos := 1 to Length(Source) do
begin
SrcAsc := (Ord(Source[SrcPos]) + Offset) mod 255;
if KeyPos < KeyLen then
KeyPos := KeyPos + 1
else
KeyPos := 1;
SrcAsc := SrcAsc xor Ord(Key[KeyPos]);
Dest := Dest + format('%1.2x', [SrcAsc]);
Offset := SrcAsc;
end;
result := Dest;
end;
function UnEncryptString(Source, Key: string): string;
//對字元串解密(Src:源 Key:密匙)
var
KeyLen: integer;
KeyPos: integer;
Offset: integer;
Dest: string;
SrcPos: integer;
SrcAsc: integer;
TmpSrcAsc: integer;
begin
KeyLen := Length(Key);
if KeyLen = 0 then
Key := 'delphi';
KeyPos := 0;
Offset := strtoint('$' + (Source, 1, 2));
SrcPos := 3;
repeat
SrcAsc := strtoint('$' + (Source, SrcPos, 2));
if KeyPos < KeyLen then
KeyPos := KeyPos + 1
else
KeyPos := 1;
TmpSrcAsc := SrcAsc xor Ord(Key[KeyPos]);
if TmpSrcAsc <= Offset then
TmpSrcAsc := 255 + TmpSrcAsc - Offset
else
TmpSrcAsc := TmpSrcAsc - Offset;
Dest := Dest + chr(TmpSrcAsc);
Offset := SrcAsc;
SrcPos := SrcPos + 2;
until SrcPos >= Length(Source);
result := Dest;
end;

⑵ Delphi常用的字元串(密碼)加密方式都有哪幾種哪種方法可以將數字字母混合加密成純數字

多了,des、aes、base64、rsa、md5、sha等等,等等,數不勝數。每一種演算法,都可以將數字字母加密成純數字。因為加密的結果可以再加密。比如aes加密後的密文,是16進制的東西,我們可以把這個結果轉換成10進制,不就成了純數字了嗎?所以,所有演算法,都可以實現你所說的。

⑶ delphi分組演算法

MD5即Message-Digest Algorithm 5(信息-摘要演算法 5),是在計算機語言當中普遍使用的一種雜湊程序,由於它類似於函數,我們稱為演算法。此雜湊函數是由MD2、MD3和MD4完善而來。其基本原理就是將一個字元串(包括漢字等)通過一定的函數轉換為一種新的字元串,並且這種雜湊運算是以不可逆轉的形式存在。在1992年8月Ronald L. Rivest在向IEFT提交了一份重要文件,描述了這種演算法的原理,由於這種演算法的公開性和安全性,在90年代被廣泛使用在各種程序語言中,用以確保資料傳遞無誤等。

由於MD5演算法的可靠性,被廣泛用於雜湊資料正確性驗證。經過許多程序員的努力,MD5演算法已經被各種語言實現,.asp,.php,.java ,c,c#,vb,vc++,delphi等語言。

MD5演算法以16個32位子分組即512位分組來提供數據雜湊,經過程序流程,生成四個32位數據,最後聯合起來成為一個128位散列。基本方式為,求余、取余、調整長度、與鏈接變數進行循環運算。得出結果。

MD5由MD4、MD3、MD2改進而來,主要是增加了演算法難度和不可逆性。

雖然目前對MD5演算法本身還沒有已知或已公布的攻擊方法,但是由於它是一種比較老的演算法,使用MD5計算出的的散列值長度只有128位,隨著現代計算機運算能力的提高,通過一些方式,尋找一個可能的「碰撞」(沖突)已經變得可能。因此,MD5在一些對安全要求比較高的場合已經逐步被其它的演算法所替代。

由於MD5使用的廣泛性和可靠性,諸多程序員對其進行了大量的研究,並取得了一些成果,但是並未改變MD5演算法的可逆性,沒有完整的反MD5函數出現。

閱讀全文

與delphi演算法大全相關的資料

熱點內容
如何確認方舟編譯器 瀏覽:664
奶粉源箱源碼什麼意思 瀏覽:178
台州程序員兼職一般去哪些網站 瀏覽:388
舊版本怎麼下載到新的安卓 瀏覽:966
flash個人網站源碼下載 瀏覽:723
javasocketbyte 瀏覽:264
素描基礎教程pdf 瀏覽:541
香港商報pdf版 瀏覽:427
安卓手機怎麼錄制吉他彈奏 瀏覽:382
ie文件夾緩存在哪裡 瀏覽:265
圍棋排名演算法 瀏覽:963
zigbee加密演算法 瀏覽:464
柏楊版資治通鑒pdf 瀏覽:395
事業編程序員下班時間 瀏覽:10
linux中命令大全 瀏覽:39
pic單片機學習網站 瀏覽:164
843除6的演算法 瀏覽:377
arduino編程視頻 瀏覽:746
pdf背景綠色 瀏覽:613
記事本dos命令 瀏覽:276