mã hóa cơ số 64 và giải mã một chuỗi ở dạng góc (2+)


84

Làm thế nào để mã hóa hoặc giải mã một chuỗi trong góc 2 với base64 ??? Công cụ front-end của tôi là Angular 2. Tôi đã có một chuỗi mật khẩu, trước khi chuyển nó tới API, tôi cần mã hóa base64. Vì trong dịch vụ chuỗi mã hóa base64 sẽ được giải mã.

Vì vậy, tôi đang tìm kiếm một số thư viện mã hóa / giải mã base64 cho Angular2 / Typescript và một số tùy chọn.

Cảm ơn!!!


Câu trả lời:


177

Sử dụng btoa()hàm để mã hóa:

console.log(btoa("password")); // cGFzc3dvcmQ=

Để giải mã, bạn có thể sử dụng atob()chức năng:

console.log(atob("cGFzc3dvcmQ=")); // password


2
Trước khi sử dụng cái này, bạn có thể muốn xác nhận xem trình duyệt mục tiêu của bạn có hỗ trợ cái này không: caniuse.com/#search=btoa
edrian

@edrian Sẽ ổn miễn là bạn không hỗ trợ phiên bản IE quá cũ.
Robby Cornelissen

làm cách nào để gõ một biến dưới dạng cơ sở 64? Tôi đang sử dụng FileReader và kết quả là nhận được chuỗi base64
virtualLast

7
Xin lưu ý rằng btoa () và atob () không hỗ trợ ký tự utf-8!
darwin

1
@Robert này nên làm việc: stackoverflow.com/questions/30106476/...
darwin


1

Sử dụng btoa()để mã hóa và atob()giải mã

text_val:any="your encoding text";

Văn bản được mã hóa: console.log(btoa(this.text_val)); //eW91ciBlbmNvZGluZyB0ZXh0

Văn bản được giải mã: console.log(atob("eW91ciBlbmNvZGluZyB0ZXh0")); //your encoding text


5
Thật tuyệt khi bạn muốn trợ giúp, nhưng câu trả lời này không thêm bất kỳ giá trị nào, vì nó là bản sao của câu trả lời được chấp nhận. Về SO, chúng tôi muốn tránh lặp lại. Vui lòng xem xét xóa câu trả lời này.
ViG

1

Đối với mã hóa để base64 trong Angular2 , bạn có thể sử dụng btoa) ( chức năng.

Thí dụ:-

console.log(btoa("stringAngular2")); 
// Output:- c3RyaW5nQW5ndWxhcjI=

Để giải mã từ base64 trong Angular2 , bạn có thể sử dụng hàm atob () .

Thí dụ:-

console.log(atob("c3RyaW5nQW5ndWxhcjI=")); 
// Output:- stringAngular2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.