Longueur max du sel / mot de passe encodé en base64 pour cet algorithm

Voici l'extrait de code utilisé pour hacher les passwords dans une application que je réécris:

internal ssortingng GenerateSalt() { byte[] buf = new byte[16]; (new RNGCryptoServiceProvider()).GetBytes(buf); return Convert.ToBase64Ssortingng(buf); } internal ssortingng EncodePassword(ssortingng pass, ssortingng salt) { byte[] bIn = Encoding.Unicode.GetBytes(pass); byte[] bSalt = Convert.FromBase64Ssortingng(salt); byte[] bAll = new byte[bSalt.Length + bIn.Length]; Buffer.BlockCopy(bSalt, 0, bAll, 0, bSalt.Length); Buffer.BlockCopy(bIn, 0, bAll, bSalt.Length, bIn.Length); HashAlgorithm s = HashAlgorithm.Create("SHA512"); byte[] bRet = s.ComputeHash(bAll); return Convert.ToBase64Ssortingng(bRet); } 

Le mot de passe haché et le sel sont stockés plus tard dans une database. Qu'est-ce qui va être la longueur maximale du sel et du mot de passe encodés en base64?

    Comme un hachage SHA- 512 a toujours 512 bits = 64 octets et que base64 a besoin (n + 2 - ((n + 2) % 3)) / 3 * 4 octets, vous aurez toujours besoin de 88 octets pour stocker datatables.