CipherList Cipher::GetAvailableCiphers () { CipherList l; l.push_back (shared_ptr <Cipher> (new CipherAES ())); l.push_back (shared_ptr <Cipher> (new CipherSerpent ())); l.push_back (shared_ptr <Cipher> (new CipherTwofish ())); return l; }
void EncryptionOptionsWizardPage::OnEncryptionAlgorithmSelected () { FreezeScope freeze (this); shared_ptr <EncryptionAlgorithm> ea = GetEncryptionAlgorithm(); CipherList ciphers = ea->GetCiphers(); if (ciphers.size() == 1) { EncryptionAlgorithmHyperlink->SetLabel (StringFormatter (LangString["MORE_INFO_ABOUT"], ea->GetName())); if (typeid (*ea) == typeid (AES)) EncryptionAlgorithmStaticText->SetLabel (LangString["AES_HELP"]); else if (typeid (*ea) == typeid (Serpent)) EncryptionAlgorithmStaticText->SetLabel (LangString["SERPENT_HELP"]); else if (typeid (*ea) == typeid (Twofish)) EncryptionAlgorithmStaticText->SetLabel (LangString["TWOFISH_HELP"]); else EncryptionAlgorithmStaticText->SetLabel (L""); } else { if (ciphers.size() == 2) { EncryptionAlgorithmStaticText->SetLabel (StringFormatter (LangString["TWO_LAYER_CASCADE_HELP"], ciphers[0]->GetName(), (int) ciphers[0]->GetKeySize() * 8, ciphers[1]->GetName(), (int) ciphers[1]->GetKeySize() * 8)); } else if (ciphers.size() == 3) { EncryptionAlgorithmStaticText->SetLabel (StringFormatter (LangString["THREE_LAYER_CASCADE_HELP"], ciphers[0]->GetName(), (int) ciphers[0]->GetKeySize() * 8, ciphers[1]->GetName(), (int) ciphers[1]->GetKeySize() * 8, ciphers[2]->GetName(), (int) ciphers[2]->GetKeySize() * 8)); } else EncryptionAlgorithmStaticText->SetLabel (L""); EncryptionAlgorithmHyperlink->SetLabel (_("More information")); } Layout(); }
CipherList Cipher::GetAvailableCiphers () { CipherList l; l.push_back (shared_ptr <Cipher> (new CipherAES ())); l.push_back (shared_ptr <Cipher> (new CipherSerpent ())); l.push_back (shared_ptr <Cipher> (new CipherTwofish ())); l.push_back (shared_ptr <Cipher> (new CipherCamellia ())); l.push_back (shared_ptr <Cipher> (new CipherGost89 ())); l.push_back (shared_ptr <Cipher> (new CipherKuznyechik ())); return l; }