Làm cách nào để sao lưu Google Authenticator?


130

Tôi đang bắt đầu sử dụng Google Authenticator cho nhiều thứ hơn bây giờ, nhưng tôi mới nhận ra rằng nếu tôi bị mất điện thoại hoặc nếu tôi cần xóa và khôi phục nó để cài đặt chương trình cơ sở mới, tôi sẽ mất tất cả các mã của mình.

Có cách nào để sao lưu chúng không? Hoặc một số loại dự phòng có nghĩa là tôi có thể khôi phục nó sang một thiết bị mới?

Cảm ơn


2
Tôi không hiểu ... Mã chỉ được sử dụng một lần, chúng không được lưu trữ ở bất kỳ đâu trên điện thoại của bạn, nếu bạn cần nhập mã trên một trang web, bạn phải sử dụng mã mới, ngay cả khi bạn đã đặt một trên trang web này một thời gian trước đây.
Matthieu Harlé

1
Cảm ơn bạn, nhưng theo tôi hiểu, nếu bây giờ tôi bị mất điện thoại, tôi thậm chí sẽ không thể đăng nhập vào trang web, chứ đừng nói đến việc thiết lập mã Google Authenticator mới
Nick

5
Nếu bạn cần mã để đăng nhập trong khi điện thoại bị mất, bạn có thể sử dụng một trong các phương thức sao lưu (SMS, Gọi, mã in ...). Rất khuyến khích thiết lập ít nhất một trong những phương pháp thay thế này để khắc phục tình trạng này :)
Matthieu Harlé

3
Tôi đã luôn muốn rẽ nhánh Google Authenticator để thêm tính năng này. Tôi hy vọng ai đó sẽ làm điều đó trước khi tôi có thời gian.
Michael Kropat

5
@Shywim Google Authenticator không chỉ dành cho tài khoản Google. Có nhiều dịch vụ khác không có mã dự phòng và SMS, v.v.
Chris Harrison

Câu trả lời:


84

Phương pháp sau đây sẽ chỉ hoạt động với các thiết bị Android đã root.

Linux:

adb pull /data/data/com.google.android.apps.authenticator2/databases/databases /AFolderOnPC

Các cửa sổ:

adb pull /data/data/com.google.android.apps.authenticator2/databases/databases C:\AFolderOnPC

Lưu ý rằng thư mục trên PC đã tồn tại.

Điều này sẽ sao chép các tệp cơ sở dữ liệu xác thực bằng các khóa chính, từ đó Mật khẩu một lần được tạo, cho PC. Sau đó, tệp có thể được khôi phục về cùng một vị trí, trên các thiết bị Android hoặc đọc bằng trình xem cơ sở dữ liệu sqlite để trích xuất các khóa.


10
Khi sao chép sang thiết bị mới, đảm bảo cả databasesthư mục và databasestệp đều có quyền 755. Tôi đã thử 700, và GA liên tục gặp sự cố. Loại liên quan đến nó đòi hỏi phải có quyền đầy đủ. Có lẽ đó là yêu cầu của NSA.
eduncan911

12
Bạn cần phải làm adb roottrước khi bạn làm điều này, hoặc bạn sẽ nhận đượcremote object '/data/data/com.google.android.apps.authenticator2/databases' does not exist
Simon Woodside

3
Lưu ý rằng nếu bạn đã bật SELinux, ngay cả với các bit quyền chính xác, ứng dụng Authenticator có thể bị sập. Để khắc phục điều này, hãy chạy restorecon -F /data/data/com.google.android.apps.authenticator2/databases/databasessau khi bạn đặt lại tệp cơ sở dữ liệu. ( nguồn )
Hai Zhang

@ eduncan911 660 hoạt động với tôi
deed02392

Root thiết bị của bạn làm cho nó ít an toàn hơn . Nếu bạn đang sử dụng 2FA thì có lẽ bạn muốn bảo mật hơn. Đối với các rủi ro: owasp.org/index.php/Projects/ Kẻ
Simon Woodside

26

Bạn không cần sao lưu ứng dụng / dữ liệu Google Authenticator vì bạn có thể tạo danh sách 'Mã dự phòng' mà bạn có thể sử dụng để đăng nhập mà không yêu cầu mã xác thực trên cùng một trang mà bạn định cấu hình xác thực 2 bước.

Tại sao in hoặc tải mã dự phòng?

Mã dự phòng đặc biệt hữu ích cho những người đi du lịch, gặp vấn đề khi nhận SMS hoặc cuộc gọi thoại hoặc không thể sử dụng ứng dụng di động Google Authenticator.

Khuyến nghị: Bạn nên in hoặc tải mã dự phòng

Lưu trữ chúng ở nơi an toàn (hoặc in chúng ra) và nếu bạn mất điện thoại, bạn có thể sử dụng một trong các mã này để đăng nhập vào tài khoản của mình và thiết lập một thiết bị mới với ứng dụng Authenticator.

Trong khi điều này áp dụng cho xác thực 2 bước của Google, bất kỳ trang web nào khác bạn đã định cấu hình để sử dụng ứng dụng Google Authenticator sẽ cung cấp tùy chọn tương tự hoặc một cách khác để nhận mã (ví dụ: Facebook hỗ trợ Google Authenticator, ứng dụng và sms của riêng họ làm phương thức để nhận mã).


3
Đối với các trang web không cung cấp thì tôi sẽ nói rằng lựa chọn duy nhất của bạn là sử dụng mật khẩu duy nhất mạnh mẽ mà không cần xác thực 2 bước. Không quan tâm, những trang web nào không cung cấp tùy chọn sao lưu? Dropbox, Facebook, LastPass, Wordpress đều làm được (đó là những trang web khác tôi sử dụng xác thực 2 bước với).
bmdixon

18
@Nick: Lưu mã QR mà Google hoặc các trang web khác cung cấp và thêm lại chúng vào Authenticator trên một thiết bị khác không hoạt động. Tôi đã làm điều này một vài lần bản thân mình. Tuy nhiên, bạn nên đảm bảo rằng thời gian là chính xác và cập nhật liên tục trên cả hai thiết bị (nếu bạn có ý định tiếp tục sử dụng cả hai thiết bị) nếu không việc xác thực có thể thất bại.
Andris

7
Mật khẩu "xác thực một lần" hai yếu tố được tạo với hai điều: thời gian hiện tại và một bí mật được chia sẻ giữa máy chủ và ứng dụng trong quá trình khởi tạo. Trong trường hợp của bạn, bí mật là mã QR. Miễn là một phiên bản khác của ứng dụng xác thực chia sẻ cùng một bí mật và cùng thời gian (cùng khung 30 giây), cả hai ứng dụng sẽ tạo cùng một mật khẩu.
Marc Plano-Lesay

2
Bạn vẫn có thể muốn sao lưu điện thoại khi bạn định đặt lại điện thoại của mình, vì vậy bạn không phải mất một giờ để đến mọi trang web bạn sử dụng trình xác thực, nhập mã dự phòng và đặt lại cài đặt trình xác thực.
Pupeno

4
Điều này chỉ đúng với xác thực 2 bước của Google. Trình xác thực của Google hoạt động với nhiều trang web khác và một số trang không có cách tạo danh sách mã dự phòng. Một số sử dụng SMS, một số cung cấp cho bạn một mã dự phòng sử dụng một lần duy nhất và một số không có bất kỳ tùy chọn sao lưu nào cả. Ngay cả khi mọi trang web đều có tùy chọn sao lưu, việc phải khôi phục tất cả nhiều phím khi nhận điện thoại mới là một rắc rối lớn.
Laurence Gonsalves

21

Titanium Backup (liên kết đến cửa hàng Google play) sẽ sao lưu mọi ứng dụng Android, bao gồm cả Google Authenticator. Tuy nhiên, bạn phải root điện thoại của mình để đây là một lựa chọn khả thi.

Tôi cũng sẽ khuyên bạn nên in mã dự phòng Google. Điều này không hoàn toàn sao lưu ứng dụng Google Authenticator, nhưng chúng sẽ cho phép bạn đặt lại trình xác thực nếu cần. Điều này chỉ giúp lấy lại quyền truy cập vào tài khoản Google của bạn.

Sao lưu ứng dụng với Titanium Backup là tùy chọn đầy đủ nhất, theo ý kiến ​​của tôi. Nó đã cứu tôi trong một số dịp.


Phải giải quyết vấn đề này vì tôi không thể adb kéo thư mục cơ sở dữ liệu, không thể sao chép vào / sdcard và lấy nó - chmod 777 không làm gì cả.
Lauri Elias

"Nhập từ Google Authenticator" - Đã bán! Tính năng di chuyển rất quan trọng.
Adambean

Đáng nói, để không root lại điện thoại mới. Sau khi sao lưu, nhấp vào backup/restoretab -> chọn Authenticatorứng dụng -> trượt sang phải cho special featurestab -> chọn Explore-> chọn accountsbên dưới [DATABASE]. sau đó bạn sẽ nhận được tất cả tài khoản trong ứng dụng của mình trong tệp .csv. sử dụng secretcột để khôi phục tài khoản cho điện thoại mới.
Yan

19

Tôi cũng có chính xác vấn đề đấy.

Nó chỉ ra rằng các mã thông báo ban đầu (thường được đại diện cho người dùng là qrcodes) được lưu trữ trong cơ sở dữ liệu sqlite bên trong thư mục /data/data/com.google.android.apps.authenticator2/database và có thể được trích xuất từ ​​thiết bị.

Tôi đã tự động và giải thích quy trình khôi phục tại đây: https://github.com/dchapkine/extract-google-authenticator-credentials

Dự án này trích xuất các mã thông báo gốc, sau đó tạo một trang web với qrcodes mà bạn có thể quét lại trên một thiết bị mới.

Hãy đóng góp.


1
Điều này chỉ giúp tôi đăng nhập vào tất cả các tài khoản 2FA của mình và chuyển đổi điện thoại theo cách thủ công. Cảm ơn nhiều!
Kovah

Điều này thật đúng với gì mà tôi đã tìm kiếm. Một cách nhanh chóng và dễ dàng để quét lại tất cả các mã QR.
Harvey

Cảm ơn vì điều này nhưng thiết bị của tôi không được root. Tôi có hiểu chính xác rằng tôi có tình huống "Bắt 22" trong tay không khi root thiết bị của tôi sẽ xóa sạch thiết bị?
urig

Đơn giản rực rỡ. Không hoạt động trên Windows 10 Bash.
TranslucentCloud

@urig, không, root một số điện thoại sẽ không nhất thiết xóa sạch dữ liệu ứng dụng.
translucentCloud

16

Cách dễ nhất để xử lý việc này là chụp ảnh màn hình mã QR bất cứ khi nào bạn thiết lập Trình xác thực mới cho một trang web và lưu nó vào một vị trí được mã hóa.

Nếu bạn cần cài đặt lại hoặc thêm Trình xác thực cho trang web đó vào một điện thoại khác, chỉ cần thêm tài khoản vào Trình xác thực bằng cách quét mã QR trong ảnh chụp màn hình giống như khi bạn đang thiết lập một trang web mới.

Trước khi bạn negativoids nói điều này sẽ không hoạt động, vâng, và bạn CÓ THỂ có cùng một Trình xác thực trên nhiều thiết bị.


2
Tôi muốn giải thích lý do tại sao điều này hoạt động, cả trang web và thiết bị của bạn sẽ chia sẻ một chuỗi ký tự đơn giản, "mã", được đặt trong mã QR và họ sẽ sử dụng nó vô tận để tạo mã 6 chữ số mới, dựa trên ngày giờ hiện tại Do đó, bạn chỉ cần có mã này để tạo mã mới. Trang web không có cách nào kiểm tra ai hoặc cái gì đã tạo ra mã 6 chữ số, nó chỉ cần chính xác.
Arie

15

Hãy thử Authenticator Plus , nó hỗ trợ chức năng sao lưu / khôi phục với đồng bộ hóa trên các thiết bị, nếu bạn có điện thoại / máy tính bảng, ứng dụng này sẽ đồng bộ tất cả các tài khoản giữa chúng một cách hoàn hảo, thậm chí nó còn hỗ trợ mặc Android.

Nó cũng có logo hỗ trợ Ảnh chụp màn hình Authenticator Plus


13
Hoặc bạn có thể sử dụng Authy ( authy.com ), miễn phí.
nắp

6
Authy trông tuyệt vời ! Tốt hơn nhiều so với google, ngoại trừ nó không phải là nguồn mở . Tôi có thể sống với nó.
cregox

17
Điều này có vẻ không phải là một ý tưởng tồi? Toàn bộ quan điểm của giao thức pad Một lần dựa trên thời gian (TOTP hay còn gọi là rfc6238, đó là những gì authy / google Authenticator, et al thực hiện) là bạn và chỉ bạn mới có khả năng tạo mã. Nếu bạn để một số bên thứ 3 lưu trữ các mã đó, chúng sẽ trở thành mục tiêu lớn cho các cuộc tấn công, không bao giờ phải tin tưởng tất cả mọi người làm việc cho dịch vụ này và cách họ đã thực hiện nó.
antiduh

1
@antiduh tất nhiên là vấn đề bảo mật và khả năng sử dụng, nếu bạn quan tâm nhiều hơn đến bảo mật thì nó không lý tưởng cho bạn và bạn thực sự nên tránh xa các giải pháp phần mềm và sử dụng các giải pháp phần cứng như yubikey
Riyaz Mohammed Ibrahim

7

Bạn có thể lưu mã QR khi bạn thiết lập hoặc gia hạn 2FA. Bạn có thể lưu QR bằng cách tạo một ảnh chụp màn hình. Hoặc sử dụng menu ngữ cảnh 'lưu ảnh dưới dạng' nhưng điều này không phải lúc nào cũng có sẵn. (Đảm bảo cung cấp cho hình ảnh một tên tương ứng với tài khoản và sao lưu ở vị trí an toàn). Để khôi phục, chỉ cần quét lại mã QR trong Google Authenticator.


4

Như một lời nói đầu, đây là một cách tiếp cận để định cấu hình MFA trước thời hạn để nó luôn được sao lưu, không phục hồi hoặc sao lưu các mã hiện có.

Tôi vừa trải qua quá trình này sau khi Nexus 6P của tôi ngừng kết nối với dữ liệu và tôi phải thiết lập lại tất cả MFA của mình trên Pixel. Tôi nhận ra rằng nếu tôi bị mất điện thoại hoặc đã thiết lập lại dữ liệu của nhà máy, tôi đã hoàn toàn thất bại.

Giải pháp đơn giản nhất mà tôi đã đưa ra là bỏ qua thiết lập dựa trên mã QR và chỉ sử dụng chính thiết lập dựa trên mã thông báo (đó là tùy chọn "thủ công" trong hầu hết các ứng dụng xác thực). Mọi dịch vụ tôi đã sử dụng cho đến nay đều cho phép bạn chọn cài đặt dựa trên mã thông báo thay vì QR.

Thay vì gặp rắc rối khi chụp ảnh màn hình mã QR, dán nhãn chúng một cách thích hợp và sau đó GPG mã hóa chúng và lưu trữ chúng một cách an toàn ở đâu đó, tôi chỉ lưu trữ mã thông báo trong kho tiền được mã hóa và thiết lập MFA theo cách thủ công.

Tôi đã xác minh rằng bạn có thể thiết lập bản sao của trình xác thực bằng cách sử dụng cùng một khóa trên các thiết bị độc lập chạy đồng thời. Do đó, miễn là bạn kiểm soát mã thông báo một cách an toàn, bạn có thể định cấu hình MFA trên bất kỳ thiết bị nào.

Tôi hài lòng với kết quả này vì tôi không phải làm gì hơn là cấu hình lại MFA (dù sao tôi cũng phải làm điều này trong hoàn cảnh của mình) và chỉ cần thêm tất cả các mã thông báo để vượt qua. Bây giờ tôi được bảo vệ trong trường hợp mất điện thoại và có thể định cấu hình các thiết bị khác nếu cần.


2

Có rất nhiều lời khuyên cho điện thoại đã root. Nhưng không nên root thiết bị của bạn nếu bạn không muốn làm cho thiết bị dễ bị tấn công. Xác thực hai yếu tố cung cấp một lớp bảo vệ bổ sung và bằng cách root bạn sẽ vô hiệu hóa vì các virus khác nhau có thể có quyền truy cập vào các vùng nhớ được bảo vệ.

Chỉ một lượng nhỏ dịch vụ cung cấp mã dự phòng (đặc biệt là Google). Đối với các dịch vụ này, bạn nên lưu mã dự phòng.

Giải pháp tốt nhất là lưu mã QR (hoặc khóa bí mật) trong thời điểm đăng ký mã thông báo và giữ chúng ở nơi an toàn. Sau đó, nếu bạn mất điện thoại, bạn có thể khôi phục mã thông báo trong Google Authenticator trên thiết bị mới của mình.

Ngoài ra, bạn có thể sử dụng mã thông báo phần cứng. Chúng có thể ở dạng khóa fob hoặc thẻ tín dụng. Hãy xem bài viết này trên blog của Protectimus (công ty nơi tôi làm việc) để có thêm thông tin về cách sao lưu Google Authenticator: Cách sao lưu Google Authenticator hoặc Chuyển nó sang điện thoại mới .

* Tiết lộ : Tôi làm việc cho trang web được liên kết ở trên.


2
Chào mừng bạn đến với những người đam mê Android . Chúng tôi nhận thấy rằng bạn được liên kết với các liên kết được đề cập. Mặc dù bạn đã nêu liên kết của bạn trên hồ sơ của bạn, xin vui lòng cũng tiết lộ nó trong câu trả lời của bạn. Đọc thêm: Làm thế nào để không trở thành người gửi thư rác .
Andrew T.

@AndrewT. Làm xong.
iBug

1

Phương pháp sau đây sẽ chỉ hoạt động trên các thiết bị Android đã root. Phương pháp này hữu ích hơn cho những người không am hiểu về công nghệ hoặc những người như tôi> những người không muốn lãng phí thời gian cài đặt Android SDK + JDK từ đầu chỉ để chạy lệnh adb.

Vì vậy, đây là:

  1. Tải xuống và cài đặt bất kỳ ứng dụng "Root explorer" nào từ cửa hàng Google Play. Tôi sử dụng trình thám hiểm tệp FX phổ biến và miễn phí với addon truy cập gốc FX miễn phí. Bạn có thể sử dụng những người khác quá. Ứng dụng này giúp chúng tôi có thể truy cập hệ thống Android với tư cách là người dùng root.

  2. Khi bạn mở trình thám hiểm tệp trong Hệ thống gốc> Nhấp vào thư mục "dữ liệu"> Nhấp vào thư mục "dữ liệu" (bên trong thư mục dữ liệu khác)> Sao chép thư mục có tên com.google.android.apps.authenticator2> Thoát thư mục gốc hệ thống> Mở bình thường Lưu trữ chính / Không gian lưu trữ SD và Dán Thư mục ở đây.

  3. Kết nối thiết bị Android của bạn với PC và Sao lưu thư mục vào USB / ổ cứng gắn ngoài.

Đó là nó. Bây giờ, bất cứ khi nào bạn cần cài đặt lại chương trình cơ sở / mua điện thoại mới, chỉ cần làm theo các bước ở trên và sao chép thư mục đó vào cùng thư mục chính xác sau khi bạn đã cài đặt ứng dụng Google Authenticator.

HOẶC, bạn có thể sử dụng trình soạn thảo GUI SQLite mã nguồn mở miễn phí như "Trình duyệt cơ sở dữ liệu SQLite" để mở tệp "cơ sở dữ liệu" bên trong thư mục "com.google.android.apps.authenticator2". Trong tab "Duyệt dữ liệu", bạn có thể thấy khóa và tên tương ứng với khóa để bạn có thể nhập khóa theo cách thủ công vào ứng dụng Google Authenticator.


@Izzy Đã chỉnh sửa phần chủ quan và cảm ơn vì sự giúp đỡ :) Phương pháp này có vẻ lớn nhưng tiết kiệm thời gian nhất cho những người bình thường không phải là nhà phát triển Android. Tôi thực sự đã xem xét chủ đề này trước khi tự mình tìm ra giải pháp. Mã dự phòng - không có sẵn cho hầu hết các dịch vụ (chỉ hoạt động trên google). Authenticator Plus là một ứng dụng trả phí. Sao lưu titan có thể có vấn đề tương thích. Lệnh kéo ADB cần bạn cài đặt Android SDK + JDK. Phương pháp của tôi là "dễ dàng" như sao chép dán một thư mục.
Pavin Joseph

Cảm ơn đã chỉnh sửa, Pavin! Theo nhận xét của bạn, tôi đã không đồng ý một phần: Tôi chưa bao giờ cài đặt SDK + JDK, nhưng vẫn sử dụng một loạt các tính năng của ADB (đặc biệt là với công cụ " Thanh công cụ" của riêng tôi cho tài liệu thiết bị, tập lệnh sao lưu / khôi phục và hơn thế nữa ). Trên Linux, tôi chỉ cần adbtệp thực thi cho điều đó (trên Windows, hai .dlltệp được yêu cầu bổ sung). Để biết chi tiết, xem Có cài đặt tối thiểu ADB không?
Izzy

PS: Đã bao giờ có bất kỳ vấn đề cho phép? Sao chép thư mục dữ liệu của ứng dụng theo cách thủ công sang thiết bị khác có thể sẽ xuất hiện như vậy. Hãy nhớ rằng, để truy cập chính xác các tệp, quyền và quyền sở hữu phải phù hợp. Khi cài đặt, mỗi ứng dụng được gán một cặp UID / GID duy nhất. Quyền truy cập tệp có cờ cho chủ sở hữu / nhóm / người khác. Thông thường, dữ liệu ứng dụng có tối đa -rw-rw--(chủ sở hữu và nhóm đọc / ghi, những người khác không có gì). Vì vậy, nếu có sự không phù hợp về quyền sở hữu, bạn có thể gặp rắc rối (và ứng dụng có thể hoạt động sai).
Izzy

Vâng, nó hoạt động hầu hết thời gian. Nhưng nếu không, bạn có thể sử dụng bất kỳ trình soạn thảo SQLite nào để mở và xem khóa bí mật từ tệp cơ sở dữ liệu; sau đó tiến hành thêm tài khoản trong Google Authenticator bằng khóa.
Pavin Joseph

Ah. Giải pháp tốt hơn: Nếu nó không hoạt động, hãy kiểm tra và điều chỉnh quyền. Trước khi ghi đè /data/data/com.google.android.apps.authenticator2, hãy thực hiện ls -ltrên đó và kiểm tra quyền sở hữu / quyền. Sau khi sao chép, sử dụng chownchmodsửa nó trở lại.
Izzy

1

Trên điện thoại đã root, bạn có thể sử dụng trình quản lý tệp "Amaze" ( https://play.google.com/store/apps/details?id=com.amaze.filemanager&hl=vi ). Chuyển đến thư mục gốc /data/data/com.google.android.apps.authenticator2/database. Mở tệp cơ sở dữ liệu dưới dạng cơ sở dữ liệu. Chọn tài khoản. Bạn sẽ có 3 cột _id, email và bí mật. Sao chép giá trị "bí mật". Khi bạn cần khôi phục chỉ cần thêm, chọn "Nhập khóa được cung cấp", đặt tên và dán vào giá trị.


0

Như tôi đã trải nghiệm tương tự chỉ một thời gian trước đây. Khi bạn đăng nhập vào tài khoản của mình, bạn sẽ nhận được trang để nhập mã 6 chữ số. Tại nơi này, bạn có thể thay đổi khóa thứ hai và nhận số điện thoại nếu bạn đã xác minh bất kỳ số nào. Và để sao lưu nhiều hơn, bạn có thể chọn một máy tính khác là đáng tin cậy. Vì vậy, họ sẽ không yêu cầu mã bước thứ hai trên các máy tính đó.


0

Đây là một liên kết đến tập lệnh Python đơn giản trên trang web của tôi: http://usefree.com.ua/google-authenticator-backup/

Bạn chỉ cần dán mã của mình và chạy chúng trong môi trường Python.

Làm thế nào nó hoạt động:

Trong quá trình thiết lập và định cấu hình xác thực hai yếu tố với Google Authenticator, không chỉ có thể quét mã QR, mà còn lấy mã, ví dụ, đối với Google Mail chúng tôi nhận được : csnji4rfndisoh323fdsioah3u2iodso. Để tạo TOTP trên máy tính của bạn bằng Python IDLE, bạn có thể xác định chức năng này:

def totpgen ():
    import time
    import hmac
    import hashlib
    import base64

    ### TOTP-key for Google
    #secret = base64.b32decode("csnji4rfndisoh323fdsioah3u2iodso", True)
    #totp for btc-e
    #secret = base64.b32decode("DHSJHDW89E8DFUS98RIO23J390EFU234IR90WEUIF903DMSKAKDS====")
    ### Calc counter from UNIX time (see RFC6238) 
    counter = long(time.time() / 30)

    ### Use counter as 8 byte array
    bytes=bytearray()
    for i in reversed(range(0, 8)):
      bytes.insert(0, counter & 0xff)
      counter >>= 8

    ### Calculate HMAC-SHA1(secret, counter)
    hs = bytearray(hmac.new(secret, bytes, hashlib.sha1).digest())

    ### Truncate result (see RFC4226)
    n = hs[-1] & 0xF
    result = (hs[n] << 24 | hs[n+1] << 16 | hs[n+2] << 8 | hs[n+3]) & 0x7fffffff

    ### Print last 6 digits
    return str(result)[-6:]

Chèn vào dòng

secret = base64.b32decode("csnji4rfndisoh323fdsioah3u2iodso", True)

mã của bạn thay vì "csnji4rfndisoh323fdsioah3u2iodso"

đường dây không liên lạc và gọi trong IDLE

totpgen ()

Bạn sẽ nhận được TOTP của mình!) Đối với dịch vụ btc-e hãy thử sử dụng dòng

secret = base64.b32decode("DHSJHDW89E8DFUS98RIO23J390EFU234IR90WEUIF903DMSKAKDS====")

Đối với các dịch vụ khác - như được mô tả ở trên.


2
Bạn có thể bao gồm các mã có liên quan và giải thích làm thế nào để sử dụng nó? (ví dụ mã này làm gì? Dán mã "gì" & từ đâu? Không phải ai cũng hiểu tiếng Nga). Câu trả lời chỉ liên kết không được khuyến khích, vì nếu liên kết rots, thì không còn gì hữu ích. (Ngoài ra, việc tiết lộ là cần thiết nếu bạn có ý định quảng bá blog của mình. Nếu không, nó có thể được coi là quảng cáo hoàn toàn hay còn gọi là spam).
Andrew T.

1
Vui lòng không trở thành người gửi thư rác và bao gồm một đề cập rõ ràng, rõ ràng rằng đó là trang web của bạn, bên cạnh liên kết.
Nic Hartley
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.