精易论坛

标题: 把下列的JS代码写成易语言的 [打印本页]

作者: 不懂大大    时间: 2024-8-4 16:09
标题: 把下列的JS代码写成易语言的
代码如下
md5: function(e) {
            var t = r.MD5(e, {
                asBytes: !0
            });
            if (16 !== t.length)
                throw new Error("MD5加密结果字节数组错误");
            var a = Math.abs(n(t, 0))
              , s = Math.abs(n(t, 4))
              , o = Math.abs(n(t, 8))
              , c = Math.abs(n(t, 12));
            return a.toString() + s.toString() + o.toString() + c.toString()
        }



帮忙写成易语言格式 谢谢 我看不太懂JS 只知道是个MD5加密然后后面就不知道了

作者: 老衲jack    时间: 2024-8-4 16:09
给你写了个go语言的dll,也可以得到结果。:https://125.confly.eu.org/thread-14830947-1-1.html

作者: 创拓    时间: 2024-8-4 16:25
瑞幸小程序的?
作者: 不懂大大    时间: 2024-8-4 16:26
创拓 发表于 2024-8-4 16:25
瑞幸小程序的?

什么瑞幸小程序?
作者: 创拓    时间: 2024-8-4 16:28
不懂大大 发表于 2024-8-4 16:26
什么瑞幸小程序?

跟瑞幸小程序的sign算法一样哥们

补充内容 (2024-8-4 16:29):
一个字母也没变
作者: 不懂大大    时间: 2024-8-4 16:30
创拓 发表于 2024-8-4 16:28
跟瑞幸小程序的sign算法一样哥们

补充内容 (2024-8-4 16:29):

不是吧,小程序不是要逆向码?我这个网页的 他加密自写的 我扣不出来
作者: 不懂大大    时间: 2024-8-4 16:31
创拓 发表于 2024-8-4 16:28
跟瑞幸小程序的sign算法一样哥们

补充内容 (2024-8-4 16:29):

你有相关的demo吗?我研究研究
作者: 创拓    时间: 2024-8-4 16:35
把参数转为数组 然后取位数拼接
作者: 不懂大大    时间: 2024-8-4 16:36
创拓 发表于 2024-8-4 16:35
把参数转为数组 然后取位数拼接

能简单写一下吗?
作者: 浅黑    时间: 2024-8-4 17:10
你提供的代码并不全,你缺少r.MD5方法和n方法,但是看起来好像就是md5如果没魔改的话,你可以使用校验_取md5()

补充内容 (2024-8-4 17:10):
如果不行,那请提供网址
作者: 老衲jack    时间: 2024-8-4 22:38
这段代码看起来是一个MD5哈希函数的JavaScript实现,用于将输入字符串加密成十六进制表示的字符串。为了在Go语言中实现相同的逻辑,我们可以使用Go标准库中的`crypto/md5`包,它提供了MD5的实现。

下面是Go语言版本的代码,它实现了与上述JavaScript代码类似的功能:

```go
package main

import (
        "crypto/md5" // 引入Go标准库中的MD5实现
        "fmt"
)

// md5Hash 计算给定字符串的MD5哈希值并以十六进制字符串返回。
func md5Hash(str string) (string, error) {
        // 将输入字符串编码为字节切片以进行哈希计算。
        h := md5.New()
        if _, err := h.Write([]byte(str)); err != nil {
                return "", fmt.Errorf("md5 hash calculation failed: %v", err)
        }
        // 获取MD5哈希值的结果。
        hashBytes := h.Sum(nil)

        // 将字节数组转换为十六进制表示的字符串。
        var builder strings.Builder
        for i := 0; i < len(hashBytes); i++ {
                builder.WriteString(fmt.Sprintf("%02x", hashBytes[i]))
        }
        return builder.String(), nil
}

func main() {
        // 使用示例。
        input := "Hello, World!" // 可以更改这个字符串为任意你想要加密的文本。
        hash, err := md5Hash(input)
        if err != nil {
                fmt.Println("Error:", err)
        } else {
                fmt.Println("MD5 hash of", input, "is:", hash)
        }
}
```
在这个Go程序中,我们定义了一个函数`md5Hash`来计算输入字符串的MD5哈希值,并以十六进制形式返回这个结果。在`main`函数中,我们调用`md5Hash`并打印结果。你可以将`input`变量替换为你想要加密的任何文本字符串。


蓝心ai的答复,需要用go语言生成dll就可以用了,我都这么干的。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4