双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

我的分不够,救命啊?

xsmuhtar xsmuhtar 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用了这些代码加密和解密字符串的时候,英文字符串可以正常的加密和解密,但是加密和解密汉字的时候不能正常的
别如说:加密“学习”的时候,加密结果:D469,但是解密结果是:f`;

用的加密和解密函数如下:
const

XorKey:array[0..7] of Byte=($B2,$09,$AA,$55,$93,$6D,$84,$47);


function Enc(Str:String):String;//字符加密函數 這是用的一個異或加密
var
i,j:Integer;
begin
Result:='';
j:=0;
for i:=1 to Length(Str) do
begin
Result:=Result+IntToHex(Byte(Str[i]) xor XorKey[j],2);
j:=(j+1) mod 8;
end;
end;

function Dec(Str:String):String;//字符解密函數
var
i,j:Integer;
begin
Result:='';
j:=0;
for i:=1 to Length(Str) div 2 do
begin
Result:=Result+Char(StrToInt('$'+Copy(Str,i*2-1,2)) xor XorKey[j]);
j:=(j+1) mod 8;
end;
end;



但是一个问题:我在这些代码在delphi2006 for win32中可以正常使用的,但是在Delphi2009上不能正常使用的,

这个问题如何解决?
哥儿们请指导一下!
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部