//加密字串
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 ...