In che modo l'appartenenza ASP.NET genera la propria chiave salina e quindi come la codificano (ovvero, sale + password o password + sale)?sale adesione ASP.NET?
Sto usando SHA-1 con la mia appartenenza, ma vorrei ricreare gli stessi sali in modo che la roba di appartenenza incorporata potesse eseguire lo hash delle cose nello stesso modo in cui le mie cose possono.
Modifica 2: Non importa. Ho letto male e pensavo che dicesse byte, non bit. Quindi stavo passando 128 byte, non 128 bit.
Modifica: Ho cercato di renderlo tale. Questo è quello che ho,
public string EncodePassword(string password, string salt)
{
byte[] bytes = Encoding.Unicode.GetBytes(password);
byte[] src = Encoding.Unicode.GetBytes(salt);
byte[] dst = new byte[src.Length + bytes.Length];
Buffer.BlockCopy(src, 0, dst, 0, src.Length);
Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length);
HashAlgorithm algorithm = HashAlgorithm.Create("SHA1");
byte[] inArray = algorithm.ComputeHash(dst);
return Convert.ToBase64String(inArray);
}
private byte[] createSalt(byte[] saltSize)
{
byte[] saltBytes = saltSize;
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetNonZeroBytes(saltBytes);
return saltBytes;
}
così non ho provato a vedere se l'appartenenza ASP.NET riconoscerà questo ancora l'hash della password sembra vicino. Solo non so come convertirlo in base64 per il sale.
ho fatto questo
byte[] storeSalt = createSalt(new byte[128]);
string salt = Encoding.Unicode.GetString(storeSalt);
string base64Salt = Convert.ToBase64String(storeSalt);
int test = base64Salt.Length;
lunghezza Test è 172, che è ben sopra i 128 bit in modo che quello che sto facendo di sbagliato?
Questo è ciò che si rispetti sembra
vkNj4EvbEPbk1HHW+K8y/A==
Questo è ciò che il mio sale sembra
E9oEtqo0livLke9+csUkf2AOLzFsOvhkB/NocSQm33aySyNOphplx9yH2bgsHoEeR/aw/pMe4SkeDvNVfnemoB4PDNRUB9drFhzXOW5jypF9NQmBZaJDvJ+uK3mPXsWkEcxANn9mdRzYCEYCaVhgAZ5oQRnnT721mbFKpfc4kpI=
È possibile controllare la mia risposta su questo SO pagina: http://stackoverflow.com/questions/530426/reimplement-asp-net-membership-and- user-password-hashing-in-ruby/8184569 # 8184569 –