1

我尝试用盐获取base64编码的md5哈希密码(盐是md5,我得到了base64编码)

var pass = "hello";
var salt=haxe.crypto.Base64.encode(haxe.crypto.Md5.make(haxe.io.Bytes.ofString("hello")));
    trace(haxe.crypto.Base64.encode(haxe.crypto.Md5.make(haxe.io.Bytes.ofString(haxe.crypto.Base64.decode(salt).toString() + haxe.crypto.Md5.make(haxe.io.Bytes.ofString(pass)).toString()))));

在 neko 上写道:

YWsigXuA7tn2XDqjjNKQVA==

但闪给我:

9Hpay/lKyMcm/s8qpPRczQ==

为什么它们不同?我该如何解决这个问题?

4

1 回答 1

1

这解决了问题

var buf:Bytes = Bytes.ofString("aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb"); //create Bytes 32 long 
buf.blit(0, Base64.decode(salt), 0, 16); //set first 16 
buf.blit(16, Md5.make(Bytes.ofString(pass)), 0, 16); //set second 16
var password:String = Base64.encode(Md5.make(buf));//md5(salt+pass)
于 2016-11-09T15:06:49.030 回答