一段代码转为php有人会吗?rmb

[复制链接]
查看: 938   回复: 9
发表于 2022-2-10 17:20:40 | 显示全部楼层 |阅读模式
Function EncrypKey (Src:String; Key:String):string;
var
idx :integer;
KeyLen :Integer;
KeyPos :Integer;
offset :Integer;
dest :string;
SrcPos :Integer;
SrcAsc :Integer;
TmpSrcAsc :Integer;
Range :Integer;

begin
KeyLen:=Length(Key);
if KeyLen = 0 then key:='Think Space';
KeyPos:=0;
SrcPos:=0;
SrcAsc:=0;
Range:=256;
Randomize;
offset:=Random(Range);
dest:=format('%1.2x',[offset]);
for SrcPos := 1 to Length(Src) do
begin
SrcAsc:=(Ord(Src[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;
回复

使用道具 举报

 楼主| 发表于 2022-2-10 17:21:36 | 显示全部楼层
看到rmb很自信地点进来
看了一眼代码...
关闭页面
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 17:21:41 | 显示全部楼层
有大佬会
回复 支持 反对

使用道具 举报

发表于 2022-2-10 17:22:41 | 显示全部楼层
上古语言呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 17:22:55 | 显示全部楼层
delphi
只改加密吗? 200块
需要解密函数吗? 解密函数100块.
一共,300块
回复 支持 反对

使用道具 举报

发表于 2022-2-10 17:23:09 | 显示全部楼层
已经有人报价了,就不参与了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 17:23:41 | 显示全部楼层
远古dephi代码?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 17:23:50 | 显示全部楼层
代码拿去
红包拿来

  1. <?phpfunction EncrypKey($Src, $Key='') {    $KeyLen = strlen($Key);    if ($KeyLen == 0) $Key = 'Think Space';    $KeyPos = 0;    try {        $Offset = random_int(0, 255);    } catch (Exception $e) {        $Offset = rand(0, 255);    }    $Dest = sprintf('%02X', $Offset);    for ($SrcPos = 0; $SrcPos < strlen($Src); $SrcPos++) {        $SrcAsc = (ord($Src[$SrcPos]) + $Offset) % 255;        if ($KeyPos < $KeyLen) $KeyPos += 1;        else $KeyPos = 0;        $SrcAsc ^= ord($Key[$KeyPos]);        $Dest .= sprintf('%02X', $SrcAsc);        $Offset = $SrcAsc;    }    return $Dest;}function UncrypKey($Src, $Key='') {    $KeyLen = strlen($Key);    if ($KeyLen == 0) $Key = 'Think Space';    $KeyPos = 0;    $SrcPos = 0;    $Offset = hexdec(substr($Src, 0, 2));    $SrcPos = 2;    $Dest = "";    while ($SrcPos < strlen($Src)) {        $SrcAsc = hexdec(substr($Src, $SrcPos, 2));        if ($KeyPos < $KeyLen) $KeyPos += 1;        else $KeyPos = 1;        $TmpSrcAsc = $SrcAsc ^ ord($Key[$KeyPos-1]);        if ($TmpSrcAsc <= $Offset) $TmpSrcAsc += 255 - $Offset;        else  $TmpSrcAsc -= $Offset;        $Dest .= chr($TmpSrcAsc);        $Offset = $SrcAsc;        $SrcPos += 2;    }    return $Dest;}echo EncrypKey('测试');echo PHP_EOL;echo UncrypKey('00B23C9328834D');?>
复制代码
一段代码转为php有人会吗?rmb

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 17:24:01 | 显示全部楼层
其实还有个参数的,用起来是这样 EncrypKey(dest1,'222');  dest1是str即待加密的字符,222似乎是一个改变加密的参数。

大哥你这种先给结果的,让我有点吃不消呀。。。。不过非常感谢,pm 我
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-10 17:24:14 | 显示全部楼层
参数也支持,只不过默认为空
你也可以通过 EncrypKey('password', 'key'); 这样的方式来使用自定义密钥
解密同样支持一段代码转为php有人会吗?rmb

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则