何でこんなが必要になったか
テスト用に作成したプログラムのconfigがパスワードを平文を書くようになっていたので、覗き見防止のためにパスワードをbase64へ変換してから張り付けるという仕様になったため…
pythonでbase64パスワードのデコード用に作成
base64のエンコードは以下の手順を踏む
- 元データを2進数に変換。
- 6ビットずつに分ける。
- 最後が6ビットにならなかったら、6ビットになるまで0を追加
- 変換表により変換
- 4の倍数にならなかったら、4の倍数になるまで=を追加
参考:https://became-free.com/base64-post-problem/
デコード時は穴埋めで使用される'='に対応にしたい
import base64
def decode(passwd):
dec = base64.urlsafe_b64decode(passwd + '-' * (-len(passwd) % 4))
return dec.decode('utf-8')