开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 284|回复: 10
收起左侧

[已解决] 帮忙易算法转一下php

 关闭 [复制链接]
结帖率:71% (10/14)
发表于 2024-11-27 23:30:20 | 显示全部楼层 |阅读模式   福建省龙岩市
30精币
.版本 2
.支持库 dp1

.子程序 getS2, 文本型
.参数 str1, 文本型
.参数 str2, 文本型
.局部变量 key2_s, 文本型
.局部变量 key1_s, 文本型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 S, 文本型
.局部变量 z, 整数型

key2_s = 到小写 (校验_取sha512 (到字节集 (取数据摘要 (到字节集 (str2)) + 取数据摘要 (到字节集 (str1)))))
key1_s = 到小写 (校验_取sha512 (到字节集 (“185fa820bc8d329ecee24c3d982cfb41” + 取数据摘要 (到字节集 (str2)) + 取数据摘要 (到字节集 (str1)))))

.计次循环首 (10, z)
    j = 位或 (位异或 (取代码 (key2_s, (z - 1) × 15 + 1 + j % 120), 240), 取代码 (key2_s, (z - 1) × 15 + 1 + j % 120))
    S = S + 字符 (取代码 (key1_s, 1 + (z - 1) × 15 + j % 120))
.计次循环尾 ()


返回 (S)

有没有吊大的帮我这段易语言代码转换成php的代码。我试了gpt翻译不了。好久没写过易语言了,感谢

最佳答案


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

签到天数: 18 天

发表于 2024-11-27 23:30:21 | 显示全部楼层   广东省阳江市
[PHP] 纯文本查看 复制代码
<?php
error_reporting(0);
echo get32('123','456');
function get32($str1, $str2){
        $j = 0;
        $S = '';
        $key2_s = strtolower(hash('sha512', md5($str2).md5($str1)));
        $key1_s = strtolower(hash('sha512', '185fa820bc8d329ecee24c3d982cfb41'.md5($str2).md5($str1)));
        for($i=0;$i<10;$i++) {
                $j = ord(substr($key2_s, $i*15+1+$j%120-1, 1))^240|ord(substr($key2_s, $i*15+1+$j%120-1, 1));
                $S .= chr(ord(substr($key1_s, 1+$i*15+$j%120-1, 1)));
        }
        return $S;
}
?>

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (27/27)

签到天数: 4 天

发表于 2024-11-28 10:14:22 | 显示全部楼层   浙江省宁波市
function getS2($str1, $str2) {
    // 将字符串转换为字节集(用 utf8_encode 模拟)
    function toBytes($str) {
        return utf8_encode($str);
    }

    // 获取 SHA-512 哈希值
    function sha512($data) {
        return hash('sha512', $data);
    }

    // 获取数据摘要
    function getDigest($data) {
        return sha512($data);
    }

    $key2_s = strtolower(sha512(toBytes(getDigest(toBytes($str2)) . getDigest(toBytes($str1)))));
    $key1_s = strtolower(sha512(toBytes("185fa820bc8d329ecee24c3d982cfb41" . getDigest(toBytes($str2)) . getDigest(toBytes($str1)))));

    $j = 0;
    $S = "";

    for ($z = 1; $z <= 10; $z++) {
        $j = ($j ^ ord($key2_s[($z - 1) * 15 + $j % 120])) | 240;
        $S .= chr(ord($key1_s[1 + ($z - 1) * 15 + $j % 120]));
    }

    return $S;
}
回复

使用道具 举报

结帖率:100% (56/56)

签到天数: 12 天

发表于 2024-11-28 10:29:23 | 显示全部楼层   浙江省杭州市
[PHP] 纯文本查看 复制代码
<?php

function getS2($str1, $str2) {
    // 将str2和str1的内容先取摘要,再计算sha512值,然后转换为小写
    $digest1 = hash('sha256', $str2);
    $digest2 = hash('sha256', $str1);
    $key2_s = strtolower(hash('sha512', $digest1 . $digest2));

    // 根据固定字符串和摘要计算sha512值,然后转换为小写
    $base = "185fa820bc8d329ecee24c3d982cfb41";
    $key1_s = strtolower(hash('sha512', $base . $digest1 . $digest2));

    // 循环处理字符串
    $S = '';
    for ($z = 0; $z < 10; $z++) {
        for ($j = 0; $j < strlen($key2_s); $j++) {
            // 用位操作处理key2_s内部的字符
            $position = ($z * 15 + $j) % 120;
            $charKey2 = substr($key2_s, $position, 1);
            $xorVal = (ord($charKey2) ^ 240) | ord($charKey2);

            // 通过key1_s生成最终的字符串S
            $charKey1 = substr($key1_s, ($z * 15 + $j) % 120, 1);
            $S .= $charKey1;
        }
    }

    return $S;
}

?>
回复

使用道具 举报

签到天数: 16 天

发表于 2024-11-28 14:52:02 | 显示全部楼层   山东省潍坊市
[PHP] 纯文本查看 复制代码
<?php
$j=0;
$str1 = "1";$str2 = "2";
$key2_s = hash('sha512', md5($str2) . md5($str1));
$key1_s = hash('sha512', "185fa820bc8d329ecee24c3d982cfb41" . md5($str2) . md5($str1));
for ($z = 0;$z < 10; $z++) {
//$j = ord($key2_s[$z*15+1+$j%120-1]);
$j = ord($key2_s[$z*15+1+$j%120-1]) ^ 240 | ord($key2_s[$z*15+1+$j%120-1]);
$S = $S . chr(ord($key1_s[1+$z*15+$j%120-1]));
}
echo $S . "\n";
?>


每个代码都是百度一句句翻译的  测试正常
回复

使用道具 举报

签到天数: 16 天

发表于 2024-11-28 14:55:02 | 显示全部楼层   山东省潍坊市
1.rar (289 Bytes, 下载次数: 0)
回复

使用道具 举报

结帖率:71% (10/14)

签到天数: 2 天

 楼主| 发表于 2024-11-28 18:36:31 | 显示全部楼层   广东省广州市
下午有事没来看。谢谢吊大的你们哈
回复

使用道具 举报

结帖率:71% (10/14)

签到天数: 2 天

 楼主| 发表于 2024-11-28 18:39:28 | 显示全部楼层   广东省广州市
韦贝贝 发表于 2024-11-28 10:14
function getS2($str1, $str2) {
    // 将字符串转换为字节集(用 utf8_encode 模拟)
    function toByt ...

计算结果不符合预期。应该哪里还不对。谢谢哈
回复

使用道具 举报

结帖率:71% (10/14)

签到天数: 2 天

 楼主| 发表于 2024-11-28 18:41:20 | 显示全部楼层   广东省广州市

计算结果也不符合预期。谢谢哈。
回复

使用道具 举报

结帖率:71% (10/14)

签到天数: 2 天

 楼主| 发表于 2024-11-28 18:44:53 | 显示全部楼层   广东省广州市

谢谢大哥。结果相符,算法没毛病。我就说我原来的hash512都对不上。原来还有个md5操作。
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表