web-dev-qa-db-ja.com

Angular 4でBase64エンコーディングを使用する

Base64エンコードを使用してサーバーにユーザー名とパスワードを送信したい。

Npmを使用して次のモジュールをインポートできることがわかりました。

    npm install --save angular-base64

次のフォルダーがプロジェクトフォラーに作成されていることを確認しました:node_modules\angular-base64

Component.jsファイルで、次のいずれかの行を使用してコンポーネントをインポートしようとしました。

    import 'angular-base64/angular-base64'; 

インポートについて文句は言いませんが、次の行を使用しようとすると:

    headers.append('Authorization', 'Basic ' + base64.encode('username:temppass'));

base64が見つかりません」と表示されます。

6
Naveed Kamran

そのために外部ライブラリは実際に必要ありません。

WindowOrWorkerGlobalScope.btoa()メソッドは、文字列内の各文字がバイナリデータのバイトとして扱われるStringオブジェクトからbase-64エンコードASCII文字列を作成します。

btoa() 関数を使用してエンコードします。

console.log(btoa("username:temppass")); // dXNlcm5hbWU6dGVtcHBhc3M=

デコードするには、 atob() 関数を使用できます。

console.log(atob("dXNlcm5hbWU6dGVtcHBhc3M=")); // username:temppass

サポートされているブラウザのリストを参照してください here

25
trungk18