private ICipher GetCipher() { if (!encryptCheckBox.Checked) { return(null); } byte[] keyBytes = Encoding.UTF8.GetBytes(keyTextBox.Text); var key = KeyExtender.Extend(keyBytes, _padding); switch (encryptComboBox.Text) { case nameof(AES): return(new AES(key)); case nameof(Twofish): return(new Twofish(key)); case nameof(Serpent): return(new Serpent(key)); default: return(null); } }
private ICipher GetCipher(int id, byte[] key) { key = KeyExtender.Extend(key, new PKCS7Padding()); // to chyba powinien encryptor robić if (id == CipherId.AES) { return(new AES(key)); } if (id == CipherId.Serpent) { return(new Serpent(key)); } if (id == CipherId.Twofish) { return(new Twofish(key)); } throw new ArgumentOutOfRangeException(); }
public void Extend_Provides10ByteKey_Extended() { byte[] key = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; CollectionAssert.AreEqual(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 6, 6, 6, 6, 6, 6 }, KeyExtender.Extend(key, new PKCS7Padding())); }
public void Extend_ProvidesCompleteKey_Extended() { CollectionAssert.AreEqual(new byte[16], KeyExtender.Extend(new byte[16], MockRepository.GenerateMock <IPadding>())); CollectionAssert.AreEqual(new byte[24], KeyExtender.Extend(new byte[24], MockRepository.GenerateMock <IPadding>())); CollectionAssert.AreEqual(new byte[32], KeyExtender.Extend(new byte[32], MockRepository.GenerateMock <IPadding>())); }