1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

as3 md5

Discussão em 'Programação' iniciada por GHOST, 7 de Maio de 2012. (Respostas: 1; Visualizações: 807)

  1. GHOST

    GHOST Power Member

    Boas a todos,

    Estou com um problema em recrear uma password gerada em C#, num projecto online que esta ao publico quando um utilizador se regista a password passa pela função:
    private static string ToMD5Hash(string inputString)
    {
    using (MD5 md5 = MD5.Create())
    {
    byte[] data = Encoding.Unicode.GetBytes(inputString);
    byte[] hash = md5.ComputeHash(data);

    return Convert.ToBase64String(hash);
    }
    }
    O meu problema é que estou a trabalhar em uma versão offline que irá ter a possibilidade de fazer sync com a versão online e não estou a conseguir a mesma password em as3(adobe air).
    Por exampo a password 1234 depois de passar pela função do C# fica DwN1hMmef9T0+MWVUPj1Bw==.
    A minha funç~co de teste em as3 é assim:

    private function encode():void
    {
    var ba:ByteArray = new ByteArray();
    ba.writeMultiByte("1234","unicode");
    var str:String = MD5.hash(ba.toString());

    var ba2:ByteArray = new ByteArray();
    ba2.writeMultiByte(str.toString(),"unicode");

    var encoder:Base64Encoder = new Base64Encoder();
    encoder.encodeUTFBytes(ba2.toString());
    trace(encoder.toString());
    }

    Quando executo ba.writeMultiByte("1234","unicode"); tenho o mesmo bytearray que no c# mas apartir dai já não, não consigo perceber se o meu problema é no ba.toString() ou no MD5.hash para o MD5 estou a usar a lib as3corelib


    Agradeço desde já qualquer ajuda.
    Alex
     
  2. GHOST

    GHOST Power Member

Partilhar esta Página