net core 接入 Google Authenticator

一、什么谷歌身份验证器

1、英文名:Authenticator

许网站都需要绑定用以对相关账号进行“二步验证”保护,也叫“双重身份验证”的谷歌身份验证器,以加强安全级别。

2、作用:

这东西就相当于银行的“电子动态口令”密码器:通过用户名与密码登录手机银行后,付款、转账时则要用到动态口令。不过银行的动态口令卡往往是个硬件实体,而谷歌身份验证器是个手机app

玩游戏的朋友也不陌生,许多网游需要二步验证:登录游戏后可以进行普通的游戏操作,但打开仓库、买卖道具时,就要用到它的专用的二步验证app  如 梦幻西游的 将军令

二、如何使用谷歌二步验证(以Android为例,ios更简单)

许多网站要求绑定谷歌身份验证器,进行二步验证,才能进行交易、挂单等操作;有的甚至登录时就会要求进行二步验证。

在手机上安装好谷歌身份验证器 Authenticator(好些手机应用商店没有,要到浏览器中搜索下载),附带一定要安装好 Google服务框架。

具体怎么玩呢?

新建控制台项目

Install-Package Google-Authenticator-netcore -Version 1.1.0
    class Program
    {
        static void Main(string[] args)
        {
            TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
            var setupInfo = tfa.GenerateSetupCode("Name of the app", "More info ABout the App", "mysecretkey", 300, 300); //the width and height of the Qr Code in pixels

            string qrCodeImageUrl = setupInfo.QrCodeSetupImageUrl; //  在浏览器中打开该二维码 用手机上装好的谷歌身份验证器扫码(右下角-扫描条形码)
            string manualEntrySetupCode = setupInfo.ManualEntryKey; // 据说有的手机扫不了码, 则需要在谷歌身份验证器中手动输入该秘钥(也是右下角-输入提供的秘钥  账号名随意填,只是个名字  选择基于时间)

            string user_input = Console.ReadLine(); //模拟用户输入验证码
            TwoFactorAuthenticator tfa1 = new TwoFactorAuthenticator();
            bool isCorrectPIN = tfa.ValidateTwoFactorPIN("mysecretkey", user_input,TimeSpan.FromMinutes(1));//校验,  TimeSpan.FromMinutes(1) 目的是为了防止服务器时间和手机时间有差异,上下一分钟时间内的验证码也是允许的,默认5分钟
            if (isCorrectPIN == true)
            {
                Console.WriteLine("验证成功");
            }
            else
            {
                Console.WriteLine("验证失败");
            }
        }
    }

源码在github https://github.com/worldtanjj/Google-Authenticator-netcore/wiki

这个也不是我写的 源码是 nuget搜    Google-Authenticator  这个不支持net core  我把代码复制出来 新建了个net core类库 上传到nuget而已

参考链接 https://stackoverflow.com/questions/6421950/is-there-a-tutorial-on-how-to-implement-google-authenticator-in-net-apps

原文地址:https://www.cnblogs.com/xtxtx/p/9946902.html

时间: 2024-10-09 02:07:15

net core 接入 Google Authenticator的相关文章

两步验证杀手锏:Java 接入 Google 身份验证器实战

两步验证 大家应该对两步验证都熟悉吧?如苹果有自带的两步验证策略,防止用户账号密码被盗而锁定手机进行敲诈,这种例子屡见不鲜,所以苹果都建议大家开启两步验证的. Google 的身份验证器一般也是用于登录进行两步验证,和苹果的两步验证是同样的道理.只不过 Google 的身份验证器用得更多更广泛,如 GitHub 的两步验证都是基于 Google 身份验证器. Google Authenticator 简介 Google Authenticator 身份验证器是一款基于时间与哈希的一次性密码算法的

Google authenticator 登陆 Wordpress和 Gmail账号

这段时间在学习aws,发现可以通过配置google authenticator来强化登陆的安全性.心想能不能把Google authenticator用在其他地方呢?意外的发现wordpess和Gmail Account也是支持的. WordPress配置很简单,首先安装Plugin,激活 然后在管理员的Profile下面,生成二维码 iPhone上安装对应的软件,(左下角白***标),扫描二维码,即可绑定 保存Wordpress的设置,重新进入登录界面,发现多了个验证码的选项 下面我的截图里面

使用google authenticator打造运维平台的动态口令

前沿: 在腾讯,百度,阿里,360运维人员登录堡垒机,或者是单点登录引导的各种运维平台,好多都需要用动态口令令牌的,用rsa的多点,这栋系价格不便宜,国内也有些便宜的,一些游戏公司的将军令就是从国内x厂商定制买的,有兴趣的可以搜搜,价格还算可以,给你提供服务端的一些源码,让你方便的使用. 当然了,并不是每个公司都会这玩意感兴趣的,咋办?  不知道大家有没有用过 支付宝.dnspod.yy的电子口令,每30s换一次密码.dnspod.yy手机令牌貌似用的是google的token方案. 下图就是各

android开发步步为营之70:android接入Google Analytics总结

求人不如求己,今天项目里要接入Google Analytics,这个是做应用统计分析用的,可以查看当前手机活跃用户,事件点击等等数据,先看看效果: 之前eclipse里面接入已经成功,昨天项目组决定项目转成使用android studio来开发,看google官方文档,官方文档https://developers.google.com/analytics/devguides/collection/android/v4/,然后官方文档里面的配置文件是用google-services.json的,这

谷歌验证 (Google Authenticator) 的实现原理是什么?

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:徐小花链接:http://www.zhihu.com/question/20462696/answer/18731073来源:知乎 开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码. 实现Google Authenticator功能需要服务器端和客户端的支持.服务器端负责密钥的生成.验证一次性密码是否正确.客户端记录密钥后生成一次性密码.

Linux实现ssh双因子登陆,with Google Authenticator

之前听别人说,用了XX家的云,安装一个手机APP,每次登陆需要先验证动态密码,再输入密码,安全性大大提高,实现了传说中的双因子登陆,当时觉得好洋气. 因为之前关注的角度不同,我更多的是从登陆统计以及报警来观察,毕竟让你直接登陆的堡垒机或者跳板机并不多,是我太out,听说过双因子登陆却一直没有去行动,于是心血来潮详细百度谷歌了一些文章,更多的都是通过添加第三方模块增加二次验证,于是几个较为出名的就来了:谷歌认证google-authenticator,freeotp,洋葱令牌,对比了一下名字,发现

Google authenticator 谷歌身份验证,实现动态口令

google authenticator php 服务端 使用PHP类 require_once '../PHPGangsta/GoogleAuthenticator.php'; $ga = new PHPGangsta_GoogleAuthenticator(); //创建一个新的"安全密匙SecretKey" //把本次的"安全密匙SecretKey" 入库,和账户关系绑定,客户端也是绑定这同一个"安全密匙SecretKey" $secret

OpenVPN+AD+Google authenticator 安装、配置

一.      网络环境如下 1.OpenVPN Server 外网卡eth1配置 IP:121.12.x.y MASK:255.255.255.128 GateWay:121.12.x.1 LAN eth0卡配置 IP:192.168.38.87 MASK:255.255.255.0 DNS:192.168.38.1 远程拨号DHCP池: 172.16.0.0  -172.16.0.127 掩码:255.255.255.128 2.内网三层交接口IP:192.168.38.254 二.网络配置

Linux 之 利用Google Authenticator实现用户双因素认证

一.介绍:什么是双因素认证 双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产生的一次性密码来代替传统的静态密码.每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时动态密码卡与服务器分别根据同样的密钥,同样的随机参数(时间.事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证. 说白了,就像我们几年前去银行办卡送的口令牌,以及