Мне нужна помощь, чтобы найти способ сопоставления IV и KEY из C # и JS,
с простым кодом C #:
Rijndael rijndael = Rijndael.Create();
byte[] saltArray = Encoding.ASCII.GetBytes("20190925");
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes("password", saltArray, 1000);
rijndael.Key = pdb.GetBytes(32);
rijndael.IV = pdb.GetBytes(16);
Console.WriteLine(BitConverter.ToString(rijndael.Key).Replace("-","").ToLower());
//Output rijndael.Key = c1b34ea814586db4a22dad37e11c7256322ab0eee3a14ed1898f93d7a264242f
Console.WriteLine(BitConverter.ToString(rijndael.IV).Replace("-","").ToLower());
//Output rijndael.IV = 063ead20a9d5f35ab83e1156ebe7c099
с CryptoJS, я могу получить то же самоеКЛЮЧ как C #, но с IV я не понимаю, почему значение не совпадает
Код CryptoJS:
let key = CryptoJS.PBKDF2('password', '20190925', {keySize:256/32, iterations:1000})
console.log('key', key.toString(CryptoJS.enc.Hex))
//Output key = 'key', 'c1b34ea814586db4a22dad37e11c7256322ab0eee3a14ed1898f93d7a264242f'
let iv = CryptoJS.PBKDF2('password', '20190925', {keySize:128/32, iterations:1000})
console.log('iv', iv.toString(CryptoJS.enc.Hex))
//Output iv = 'iv', 'c1b34ea814586db4a22dad37e11c7256'
Я просто думаю, что rijndael.IV = pdb.GetBytes(16);
только получит половину rijndael.Key = pdb.GetBytes(32);
hex, но значение совершенно другое
есть ли способ сопоставить IV C # с использованием CryptoJS?