「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python Base64 デコードでの不正なパディング エラーを処理する方法?

Python Base64 デコードでの不正なパディング エラーを処理する方法?

2024 年 11 月 7 日に公開
ブラウズ:798

How to Handle Incorrect Padding Errors in Python Base64 Decoding?

Python Base64 デコードでの不正なパディングの処理

base64.decodestring() を使用して Python で Base64 でエンコードされたデータをデコードするときに、 「パディングが正しくありません」エラー。この問題を回避するには、いくつかのアプローチを検討できます。

1.パディングの追加

受け入れられた回答で提案されているように、デコードする前に可能な最大のパディング文字を追加するだけです。 Python 3.x では、base64.b64decode() は余分なパディングを自動的に切り詰めるため、これがシンプルで効果的なソリューションになります。

base64.b64decode(s   b'==')

2.代替デコーダの使用

別のアプローチは、パディングの問題を無視する別のデコーダを使用することです。たとえば、binascii モジュールの decodestring() メソッドでは、不正なパディングが許可されます:

import binascii
binascii.decodestring(b64_string)

3.検証の無視

base64.b64decode() でデコードする場合、validate パラメーターを False に設定すると、不正なパディングなどの検証エラーを無視できます。エンコードされたデータの整合性に自信がある場合は、このアプローチをお勧めします。

base64.b64decode(s, validate=False)

4. Openssl の使用

外部ツール openssl は、パディングが正しくない場合でも、base64 データをデコードする信頼性の高い方法を提供します。 enc コマンドは次のように使用できます。

openssl enc -d -base64 -in b64string -out binary_data

注: 正しい値を考慮することが重要です。特定の要件とエンコードされたデータの整合性に基づいたアプローチ。

リリースステートメント この記事は次の場所に転載されています: 1729171277 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3