1

塩でbase64でエンコードされたmd5ハッシュパスワードを取得しようとしています(saltは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 に答える