最近有点烦恼,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);
}
来源:oschina
链接:https://my.oschina.net/yiyeliu/blog/4404884