乙個異或加密解密函式

2021-06-03 15:10:55 字數 1896 閱讀 7078

網上有很多這種加密解密函式,都差不多,整理兩個,以後方便使用。

const 

xorkey: array[0..7] of byte = ($b2, $11, $ab, $35, $63, $6d, $48, 9); //字串加密用,可以自己改

//兩種差不多,使用過載。

function encstrx(asource: pansichar): string; overload; //加密

function decstrx(asource: pansichar): string; overload; //解密

function encstrx(asource: string): string; overload; //加密

function decstrx(asource: string): string; overload; //解密

function encstrx(asource: pansichar): string; //加密

var j: integer;

ctemp: char;

str, sresult: string;

begin

j := 0;

str := string(asource);

for ctemp in str do

begin

sresult := sresult + inttohex(byte(ctemp) xor xorkey[j], 2);

j := (j + 1) mod 8; //取餘

end;

result := pchar(sresult);

end;

function decstrx(asource: pansichar): string; //解密

var i, j: integer;

str, sresult: string;

begin

str := string(asource);

j := 0;

for i := 1 to length(str) div 2 do

begin

sresult := sresult + char(strtoint('$' + copy(str, i * 2 - 1, 2)) xor xorkey[j]);

j := (j + 1) mod 8;

end;

result := pchar(sresult);

end;

function encstrx(asource: string): string; //加密   這是用的乙個異或加密

var  i,j:integer;

begin

result:='';

j:=0;

for i:=1 to length(asource) do

begin

result:=result+inttohex(byte(asource[i]) xor xorkey[j],2);

j:=(j+1) mod 8;

end;

end;

function decstrx(asource: string): string;

var  i,j:integer;

begin

result:='';

j:=0;

for i:=1 to length(asource) div 2 do

begin

result:=result+char(strtoint('$'+copy(asource,i*2-1,2)) xor xorkey[j]);

j:=(j+1) mod 8;

end;

end;

php加密函式與解密函式

去網上找了下。php常用的加密函式有 md5加密 不可逆 crypt加密 不可逆 sha1加密 不可逆 urlencode加密 可逆 base64編碼加密 可逆 還是見識的太少,這其中我只用過md5和base64 最常用的還是md5 md5的加密雖不可逆,但一些簡單的 兩次md5加密的字串,花點錢還...

PHP url 加密解密函式

php url 加密解密函式 base64 encode語法 string base64 decode string data str d3d3ljexmwnulm5ldnk7vtu9zlpmzfg 定義字串 echo base64 decode str 輸出解碼後的內容 str www.10li....

PHP加密解密函式

關於discuz的加密解密函式,相信大家都有所了解,該authcode函式可以說是對php界作出了重大的貢獻,真的發覺discuz這個函式寫的太精彩啦。研究了一下這個演算法,總的來說可以歸納為以下三點 1,動態性,同一字串使用相同的key,每次加密的密文都不一樣,而解密方法只有乙個,其實就是把解密的...