對字串進行簡單的加密和解密處理

2021-05-28 02:50:17 字數 1470 閱讀 6082

//加密字串

function encryptstr(const s:string; skey:string):string;

vari,j: integer;

hexs,hexskey,mids,tmpstr:string;

a,b,c:byte;

begin

hexs   :=mystrtohex(s);

hexskey:=mystrtohex(skey);

mids   :=hexs;

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

begin

if i<>1 then mids:= tmpstr;

tmpstr:='';

for j:=1 to (length(mids) div 2) do

begin

a:=strtoint('$'+mids[2*j-1]+mids[2*j]);

b:=strtoint('$'+hexskey[2*i-1]+hexskey[2*i]);

c:=a xor b;

tmpstr := tmpstr+mystrtohex(chr(c));

end;

end;

result := tmpstr;

end;

//解密字串

function decryptstr(const s:string; skey:string):string;

vari,j: integer;

hexs,hexskey,mids,tmpstr:string;

a,b,c:byte;

begin

hexs  :=s;//應該是該字串

if length(hexs) mod 2=1 then

begin

showmessage('密文錯誤!');

exit;

end;

hexskey:=mystrtohex(skey);

tmpstr :=hexs;

mids   :=hexs;

for i:=(length(hexskey) div 2) downto 1 do

begin

if i<>(length(hexskey) div 2) then mids:= tmpstr;

tmpstr:='';

for j:=1 to (length(mids) div 2) do

begin

a:=strtoint('$'+mids[2*j-1]+mids[2*j]);

b:=strtoint('$'+hexskey[2*i-1]+hexskey[2*i]);

c:=a xor b;

tmpstr := tmpstr+mystrtohex(chr(c));

end;

end;

result := myhextostr(tmpstr);

end;

對字串進行加密解密

create view v rand asselect c unicode cast round rand 255,0 as tinyint go create function f jmstr str varchar 8000 type bit returns varchar 8000 引數說明 ...

怎樣對字串進行加密 解密

譯者的話 該文介紹了一種直接呼叫 cryptoapi 函式對字串進行加密和解密的用法,非常簡單 實用。其中,有作者所封裝的乙個加密 解密類,是可以直接復用的原始碼,我想是能夠解決我們的一些實際問題的。而且,將初始化函式封裝在建構函式中,也顯得比較巧妙,對於初學者不失為一篇好的教材。1 初始化 cry...

C 字串加密和解密

using system.security.cryptography using system.io 預設金鑰向量 private static byte keys des加密字串 待加密的字串 加密金鑰,要求為8位 加密成功返回加密後的字串,失敗返回源串 public static string ...