Buna "karma" için kullandıkları kod (veya PKCS standardının PBKDF2 uygulanmasında denilen olarak anahtar türetmek) sağlanan Rfc2898DeriveBytes sınıfla şifreleri dizeleri .NET:Önemi (PBKDF2) uygulaması
int saltSize = 256;
int iterations = 1000;
int keySize = 20; // The parameter I'm not sure of
var deriveBytes = new Rfc2898DeriveBytes("mypassword", saltSize, iterations);
byte[] salt = deriveBytes.Salt;
byte[] key = deriveBytes.GetBytes(keySize);
Şimdi, tuz boyutu çok önemli değil (sürece rastgele tuzlar benzersiz olmasını sağlamak için yeterli olduğu gibi), ama ne anahtar boyutu hakkında yaptığı anlıyoruz? Daha uzun bir anahtar, saldırılara karşı daha fazla güvenlik sağlar mı?
(Notlar:
1. Performans konular burada benim için içe aktarılmaz, GetBytes
bir değer döndürmek için daha uzun tuz veya daha uzun bir anahtar daha zaman alacağını açıktır
2. kullanmak istiyorum. Bunları bir veritabanında saklamak için bu "karma", daha sonra bunları bir şifreleme şemasında kullanmamak için)
dkLen çok daha uzun sürer PKCS # 5 V2 (veya daha eski) kullanılarak" SHA-1 – jdweng