Flash 闪存平台上的haxe MD5错误

Flash 闪存平台上的haxe MD5错误,flash,md5,haxe,neko,Flash,Md5,Haxe,Neko,我尝试使用salt获取base64编码的md5哈希密码(salt是md5,我获取base64编码) 它在neko上写道: YWsigXuA7tn2XDqjjNKQVA== 但请告诉我: 9Hpay/lKyMcm/s8qpPRczQ== 为什么它们不同? 我怎样才能解决这个问题呢?这就解决了问题 var buf:Bytes = Bytes.ofString("aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbb"); //create Bytes 32 long buf.blit

我尝试使用salt获取base64编码的md5哈希密码(salt是md5,我获取base64编码)

它在neko上写道:

YWsigXuA7tn2XDqjjNKQVA==
但请告诉我:

9Hpay/lKyMcm/s8qpPRczQ==
为什么它们不同?
我怎样才能解决这个问题呢?

这就解决了问题

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)

如果您想知道,问题似乎是强制将任意字节转换为字符串。例如,当字符串中有空字节时,会发生什么情况,在不同平台(或Haxe目标)之间会有很大的差异。
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)