c# 使用谷歌身份验证GoogleAuthenticator的示例
程序员文章站
2022-04-28 16:59:22
此功能相当于给系统加了个令牌,只有输入对的一组数字才可以验证成功。类似于qq令牌一样。一丶创建最核心的一个类googleauthenticator此类包含了生成密钥,验证,将绑定密钥转为二维码。其中g...
此功能相当于给系统加了个令牌,只有输入对的一组数字才可以验证成功。类似于qq令牌一样。
一丶创建最核心的一个类googleauthenticator
此类包含了生成密钥,验证,将绑定密钥转为二维码。
其中generatesetupcode 这个方法是用于把绑定的密钥直接转成二维码图片,然后再转成base64图片 输出再页面上,这样在app上直接用扫一扫即可绑定。
二丶由于生成的密钥不可以直接使用,需要进行base32进行编码。下面是base32encoding类
三丶主程序里面直接调用方法
//key系统的账号,guid是进行加密的字符串,要求唯一,不然密钥会重复,所以这里使用guid. 2为二维码的大小约120x120px。
setupcode结果类为
manualentrykey 是手机绑定的密钥。如果想手动输入密钥绑定就使用此字符串。
qrcodesetupimageurl 是将密钥转成的二维码图片
下载这个app
进入app后直接绑定,就会出现一下界面,即为绑定成功,然后我们就可以使用此令牌验证了。
验证方法
//guids 之前生成密钥的字符,此时当做唯一键来查询,checkcode为手机上动态的6位验证吗。校验成功会返回true
这样功能就完成了。
以上就是c# 使用谷歌身份验证googleauthenticator的示例的详细内容,更多关于c# 使用谷歌身份验证googleauthenticator的资料请关注其它相关文章!
上一篇: 在C# 8中如何使用默认接口方法详解
下一篇: AMD Zen4曝光:同频性能提升29%