计算猪八戒utf-8的md4亿次值(🐶)

让人想犯罪 __ 提交于 2020-08-08 01:00:22

最近有点烦恼,idea升级不了。。。。。练练md4

python 使用这个包pycryptodomex

from Cryptodome.Hash import MD4

str = '猪八戒'

for _ in range(100000000):
    str = MD4.new(str.encode(encoding='utf-8')).hexdigest()
	
print(f'utf8md4:     {str}')

有点慢1514.648 seconds


golang快了很多。。。。

package main

import (
    "encoding/hex"
    "fmt"
    "golang.org/x/crypto/md4"
    "io"
)

func main() {
    data := "猪八戒"
    for i := 0; i < 100000000; i++ {
        h := md4.New()
        io.WriteString(h, data)
        data = hex.EncodeToString(h.Sum(nil))
    }
    fmt.Println(data)
}

java速度也可以,用这个包bcprov-ext-jdk15on

public static void main(String[] args) throws Exception {
        Security.addProvider(new BouncyCastleProvider());
        String str = "猪八戒";
        MessageDigest md = MessageDigest.getInstance("MD4");
        for (int i = 0; i < 100000000; i++) {
            byte[] digest = md.digest(str.getBytes("UTF-8"));
            str = new String(Hex.encode(digest));
        }
        System.out.println(str);
    }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!