![]() | 1 TossPig 2024-01-12 02:30:38 +08:00 ![]() Vaultwarden |
![]() | 2 TaurusXin 2024-01-12 03:29:52 +08:00 via iPhone ![]() |
![]() | 3 BigShot404 2024-01-12 03:46:01 +08:00 |
4 Dragonish3600 2024-01-12 04:52:16 +08:00 via iPhone Authy |
![]() | 5 ab 2024-01-12 05:32:58 +08:00 google authenticator + 苹果密码 前者扫完再用 ios 相机也扫一次。 后者既可当做备份也可以方便 safari 使用。 |
6 bobryjosin 2024-01-12 07:05:21 +08:00 via Android yubico authenticator 需要你有一个 yubikey ,全平台都有客户端,离线不联网,代价是出门需要额外带一个硬件,丢失损坏不能恢复存储的 2fa ,我一般是两个 yubikey+authy 都存一份。 |
7 SenLief 2024-01-12 07:27:42 +08:00 ![]() 密码管理器不是都带 totp |
![]() | 8 arfaWong 2024-01-12 08:04:16 +08:00 自建 bitwarden |
![]() | 9 gletec 2024-01-12 08:05:31 +08:00 via Android 密码管理器自带 totp 记录。而且很多是支持自动填入的,都不需要你自己手动输入。 |
![]() | 10 netnr 2024-01-12 08:24:21 +08:00 via Android 在用 Aegis ,而且可以导出 |
11 uuhhme 2024-01-12 08:24:37 +08:00 via Android ente 跨平台,支持导出二维码,现在用的挺好。同时 iCloud 钥匙串备份一份,无忧 |
![]() | 12 qistchan 2024-01-12 08:43:58 +08:00 自建 bitwarden+1 ,自带 TOTP |
![]() | 13 surbeta 2024-01-12 08:48:56 +08:00 Authy,用了很多年了 |
![]() | 14 n2l 2024-01-12 09:19:46 +08:00 Authy PC 版好像得挂代理才能上去。 |
16 vacuitym 2024-01-12 09:54:57 +08:00 用的 Google 的 |
17 zjcoding 2024-01-12 10:04:24 +08:00 google ,可以导入导出 |
18 youngkingdom 2024-01-12 10:05:49 +08:00 自建 bitwarden+1 |
![]() | 19 woshicixide 2024-01-12 10:06:48 +08:00 用的微软的 authenticator |
![]() | 20 c0mmand 2024-01-12 10:07:04 +08:00 Authy |
![]() | 21 woshicixide 2024-01-12 10:08:19 +08:00 被你这么一说也想换了 |
22 lw0717 2024-01-12 10:09:31 +08:00 我也被 Microsoft Authenticator 坑过,换了 Google 的 |
23 nothingistrue 2024-01-12 10:16:29 +08:00 Microsoft Authenticator Q&A 第一个就是,不能在 Android 和 iOS 之间切换。事实上你刚开始看到 iOS 备份需要 icloud ,Android 备份不需要,就该猜到两个平台之间的备份是独立的。Microsoft Authenticator 的 2FA 只是附加功能,它的主功能是 Microsoft Account 的免密登录器,这是物理密钥,它的「备份/恢复」不是复制粘贴,而是密钥迁移,这要想跨平台就太为难了。 TOTP 2FA ,虽然技术上不是物理密钥(它的密钥可以随意复制),但你最好还是别搞什么跨平台同步。想要跨平台同步就没法用平台私有的文件系统加密防护,同步服务商只能在自己的服务端用主密码来保护密钥(不负责人的甚至会明文存储密钥),一旦服务商发生泄漏你就乐开花了重置 2FA 可比重置密码的操作繁琐多了。 最好还是各用各的,这样除了安全性高之外,还天然给你的众多 2FA 多了一套备份。 Microsoft Authenticator 是使用相同的主帐号来在多个设备中断上各用各的的。 |
![]() | 24 weidaizi 2024-01-12 10:30:03 +08:00 https://github.com/MuggleWei/yoauth 我用自己写的,一个本地的,纯命令行终端下的 TOTP generator ;支持 linux/windows/mac/android ,要备份直接复制本地数据文件就 ok 了 |
![]() | 25 ztxcccc 2024-01-12 10:31:57 +08:00 歪一下楼,之前谷歌那个更新了以后很多人反馈同步有问题,现在解决了吗?我还在用很旧的版本 |
![]() | 26 mikaelson 2024-01-12 10:40:25 +08:00 我倒是想问有没有能自动填充的? 虽然用的浏览器插件,但是每次都要点一下。。。。 还有就是,比如 jumpserver 这一类的跳板机,有办法在用本地 ssh 客户端的时候也能自动填充吗。。。太麻烦了 |
![]() | 27 mhqschen 2024-01-12 10:44:54 +08:00 @woshicixide #19 那么多血淋淋的案例,怎么还敢用 |
28 click OP |
31 MuSeCanYang 2024-01-12 11:20:04 +08:00 2 FAS |
34 NoOneNoBody 2024-01-12 13:54:43 +08:00 import pyotp totp = pyotp.TOTP(...) print(totp.now()) |
35 CodeCodeStudy 2024-01-12 14:42:55 +08:00 php 的代码,不依赖第三方库 ```php <?php class TOTP { private static $base32Map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; private static function base32Decode($in) { $l = strlen($in); $n = $bs = 0; for ($i = 0; $i < $l; $i++) { $n <<= 5; $n += stripos(self::$base32Map, $in[$i]); $bs = ($bs + 5) % 8; @$out .= $bs < 5 ? chr(($n & (255 << $bs)) >> $bs) : null; } return $out; } public static function getOTP($secret, $digits = 6, $period = 30, $offset = 0) { if (strlen($secret) < 16 || strlen($secret) % 8 != 0) return ['err' => 'length of secret must be a multiple of 8, and at least 16 characters']; if (preg_match('/[^a-z2-7]/i', $secret) === 1) return ['err' => 'secret contains non-base32 characters']; $digits = intval($digits); if ($digits < 6 || $digits > 8) return ['err' => 'digits must be 6, 7 or 8']; $seed = self::base32Decode($secret); $time = str_pad(pack('N', intval($offset + time() / $period)), 8, "\x00", STR_PAD_LEFT); $hash = hash_hmac('sha1', $time, $seed, false); $otp = (hexdec(substr($hash, hexdec($hash[39]) * 2, 8)) & 0x7fffffff) % pow(10, $digits); return ['otp' => sprintf("%'0{$digits}u", $otp)]; } } echo TOTP::getOTP('xxx')['otp']; ``` |
![]() | 36 LCD 2024-01-12 20:43:33 +08:00 via Android 试一下,freeotp |
![]() | 37 sayoll 2024-01-15 13:21:50 +08:00 |
38 click OP 感谢大家的回复,最后我还是用回了 MS Authenticator 。因为微软账户好像只支持 MS Authenticator |