この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。.NETのBase64変換APIを確認し、ダミー文字列だけでエンコードと復元を観察できる形に整理しています。検証ステータス:📘 .NET公式仕様確認済み・実機未確認
Base64はデータを文字列で運びやすくする符号化です。鍵を使わず元へ戻せるので、秘密を守る暗号化の代わりにはなりません。
まず試す
$text = 'papanda-demo' $b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($text)) $b64 [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($b64))
ここを見る
2行目の見た目は変わりますが、最後に papanda-demo がそのまま戻れば成功です。パスワードも同じように戻せるため、Base64化だけで安全になったとは言えません。
1か所変えてみる
papanda-demo を パンダ に変えます。UTF-8のbyte列をBase64へ変換しているので、日本語でも往復できることを確認できます。
なぜそうなる
Base64は3byteを4文字相当へ写像する表現方式です。復号鍵は存在せず、変換規則を知っていれば誰でも戻せます。
graph LR A[文字列] --> B[UTF-8 bytes] B --> C[Base64] C --> D[bytesへ復元] D --> E[元の文字列]
仕事で使うなら
メールやJSONなどbinaryを直接扱いにくい場所での表現には便利です。一方、tokenやpasswordをBase64にして設定ファイルへ置くことを「暗号化」と呼ばないようにします。秘密の保護にはOSの資格情報機構、秘密管理サービス、適切な暗号方式を使います。
Microsoft .NET Convert.ToBase64String: https://learn.microsoft.com/dotnet/api/system.convert.tobase64string
Microsoft .NET Convert.FromBase64String: https://learn.microsoft.com/dotnet/api/system.convert.frombase64string
