Comment gérer les erreurs de remplissage incorrectes dans le décodage Python Base64 ?

Barbara Streisand
Libérer: 2024-10-17 21:22:03
original
477 Les gens l'ont consulté

How to Handle Incorrect Padding Errors in Python Base64 Decoding?

Gestion du remplissage incorrect dans le décodage Python Base64

Lors du décodage de données codées en base64 en Python avec base64.decodestring(), vous pouvez rencontrer un Erreur « Remplissage incorrect ». Pour contourner ce problème, vous pouvez envisager plusieurs approches.

1. Ajout de remplissage

Comme suggéré dans la réponse acceptée, vous pouvez simplement ajouter le maximum de caractères de remplissage possibles avant le décodage. Dans Python 3.x, base64.b64decode() tronquera automatiquement tout remplissage supplémentaire, ce qui en fait une solution simple et efficace.

<code class="python">base64.b64decode(s + b'==')</code>
Copier après la connexion

2. Utilisation d'un décodeur alternatif

Une approche alternative consiste à utiliser un décodeur différent qui ignore les problèmes de remplissage. Par exemple, la méthode decodestring() du module binascii permet un remplissage incorrect :

<code class="python">import binascii
binascii.decodestring(b64_string)</code>
Copier après la connexion

3. Ignorer la validation

Lors du décodage avec base64.b64decode(), le paramètre validate peut être défini sur False pour ignorer les erreurs de validation, y compris un remplissage incorrect. Cette approche est recommandée si vous êtes sûr de l'intégrité des données codées.

<code class="python">base64.b64decode(s, validate=False)</code>
Copier après la connexion

4. Utilisation d'Openssl

L'outil externe openssl fournit un moyen fiable de décoder les données base64, même avec un remplissage incorrect. Vous pouvez utiliser la commande enc comme suit :

<code class="sh">openssl enc -d -base64 -in b64string -out binary_data</code>
Copier après la connexion

Remarque : Il est important de considérer l'approche correcte en fonction des exigences spécifiques et de l'intégrité des données codées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal