public static Compute512Byte ( IEnumerable |
||
Data | IEnumerable |
The data to be hashed. Takes an array of bytes. |
Salt | IEnumerable |
The salt value used to help prevent dictionary attacks. Takes an array of bytes. |
return | byte[] |
//Computes an 192-bit Initialization Vector private static KeyData GenerateKeyIV192(byte[] Key) { // Generate the Initialization Vector. byte[] IVH = Hash.Compute512Byte(Key); var IV = new byte[Bits192]; for (int i = 0; i < Bits192; i++) { IV[i] = IVH[i]; } //Make sure the key is the proper length and fix it if needed. if (Key.Length != Bits192) { var TempKey = new List <byte>(Key); int c = Bits192; while (TempKey.Count != Bits192) { if (TempKey.Count < Bits192) { TempKey.Add(IVH[c++]); } else if (TempKey.Count > Bits192) { TempKey.RemoveAt(0); } else { break; } if (c > IVH.Length - 1) { c = Bits192; } } Key = TempKey.ToArray(); } var NK = new KeyData { Key = Key, IV = IV }; return(NK); }