Le déchiffrement d'un std::string a des octets de remplissage supplémentaires ?

Wum

J'essaie de déchiffrer une chaîne qui est chiffrée à l'aide d'AES en CBC_Mode. Je vois des données correctes dans le résultat mais elles sont polluées par des octets de remplissage. Ma première tentative a été d'utiliser un redirecteur comme suggéré dans ce fil :

std::string result_;
CryptoPP::CBC_Mode<CryptoPP::AES>::Decryption decrypt_;
...

void decrypt(std::string cipheredText)
{
    try
    {
        CryptoPP::MeterFilter meter(new CryptoPP::StringSink(result_));

        CryptoPP::StringSource pipeline(
            cipheredText,
            true,
            new CryptoPP::StreamTransformationFilter(
                decrypt_,
                new CryptoPP::Redirector(meter),
                CryptoPP::StreamTransformationFilter::PKCS_PADDING));
    }
    catch (CryptoPP::Exception&)
    { }
}

Mais je reçois toujours ces octets de remplissage. Qu'est-ce que je fais mal? Quelqu'un peut-il m'aider s'il vous plait ?

Wum

OK, j'ai finalement trouvé mon erreur stupide. Cela n'a rien à voir avec le remplissage d'octets. La raison de ces octets supplémentaires dans mon résultat de déchiffrement est simplement que StringSource ajoute les octets résultants à la destination. J'ai oublié d'effacer ma variable de destination et ça a grandi...

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Le chiffrement C # Rijndael place des octets supplémentaires devant les fichiers déchiffrés

Le message intégré protobuf conduit à des octets supplémentaires, est-ce un délimiteur?

Le tailer Chroncile Queue ajoute des octets supplémentaires (0x008F) pour certains tampons. Comment déterminer quels tampons ont ce remplissage?

Ajouter des champs supplémentaires dans le sérialiseur d'un à un modèle de relation

Lancement d'un modèle de workflow avec des variables supplémentaires

Matplotlib - Comment supprimer des espaces supplémentaires d'un tracé sans avoir besoin de le sauvegarder?

AES CBC Pas de remplissage donne des caractères supplémentaires dans déchiffrer JAVa

Initialiser un std :: vector C ++ (11) avec le contenu d'un autre et des éléments supplémentaires

Comment puis-je encoder des caractères unicode supplémentaires à partir d'un tableau d'octets en Java?

Comment utiliser un modèle de stratégie avec des méthodes supplémentaires dans des classes dérivées

Déterminer le nombre d'octets supplémentaires nécessaires pour mener une attaque par débordement de tampon (devoirs)

Supprimer des espaces supplémentaires d'un texte sans perdre le style de la diapositive à l'aide de VBA?

Construire une extension PHP à l'aide de rijndael d'origine, chiffrer/déchiffrer correctement mais avec des octets supplémentaires

Comment ajouter des styles supplémentaires à une fenêtre qui utilise déjà un modèle de style

Le déchiffrement d'une chaîne avec RSA renvoie des zéros supplémentaires au début

Le modèle utilisateur personnalisé crée des groupes et un tableau d'autorisations supplémentaires

Comment supprimer des articles de commande supplémentaires dans le panneau d'administration des commandes?

Réduisez le tableau d'objets pour rendre des lignes supplémentaires dans un tableau

Afficher des informations supplémentaires sur le sommet d'un graphique

Le chiffrement/déchiffrement Java via String ne fonctionne pas à cause du remplissage

Le déchiffrement triple DES renvoie les 16 premiers octets erronés de lorsqu'il est à nouveau déchiffré

Ajouter des heures supplémentaires aux colonnes d'horodatage dans le bloc de données Pyspark

Pouvez-vous transmettre des données d'état supplémentaires à un JSONDecoder (éventuellement personnalisé) dans le cadre de l'opération de décodage?

Gestion des octets supplémentaires dans la compression/décompression huffman

Suppression des caractères "vides" supplémentaires du tableau d'octets et conversion en chaîne

lire les octets d'argument supplémentaires des données blob dans l'appel swift

Des fichiers supplémentaires sont ajoutés lors de la création d'un PR

Comment gratter des pages supplémentaires de la page principale d'un site Web

Joindre des informations supplémentaires à tous les niveaux d'un type de données récursif?

TOP liste

  1. 1

    Comment exécuter un fichier python avec des droits d'administrateur dans pycharm

  2. 2

    comment obtenir un objet de requête dans les tests unitaires de django?

  3. 3

    mongo kafka connect source

  4. 4

    Vérifier la longueur du nombre à partir du message, puis utiliser la valeur dans l'instruction

  5. 5

    comment convertir une chaîne en un tuple dateutil jour de la semaine sans utiliser eval

  6. 6

    Comment ajouter un texte dans un texte Python/Tkinter

  7. 7

    Aide de variable de débogage pprint jinja2

  8. 8

    Dans les modèles Hugo, comment vérifier la longueur du tableau de fichiers JSON?

  9. 9

    Impression de la longueur du chemin le plus court dans le labyrinthe

  10. 10

    Exécuter la requête externe pour chaque date obtenue à partir de la requête interne

  11. 11

    Recherche de dicton Jinja2 à l'aide d'une clé variable

  12. 12

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  13. 13

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  14. 14

    définir une propriété pour chaque nœud dans neo4j

  15. 15

    Pourquoi cette requête Java échoue-t-elle? renvoyer 0 quand il y a des résultats

  16. 16

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  17. 17

    Laravel 8: Attempt to read property "id" on null

  18. 18

    Comment obtenir tous les champs d'un objet (y compris sa superclasse), à l'aide de l'API Mirrors de Dart?

  19. 19

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  20. 20

    Microsoft.WebApplication.targets

  21. 21

    obtenir le nombre de marqueur affiché sur la carte

chaudétiquette

Archive