你的密码已泄露!使用C#阻止弱密码

虽然,我们为了安全考虑,在注册用户时会检查密码规则,避免弱密码,比如百度的注册页面: 

但是,现在的黑客也不会傻到用穷举的办法生成密码去攻击网站,更常用的方式是使用已泄露密码生成的字典。

那这些字典从哪来的?

HIBP(have i been pwned)

我知道的,可以得到这些数据的最大网站是HIBP(https://haveibeenpwned.com/),上面提供了大量已泄露网站的信息,连FBI都向它提供数据: 

从网站提供的被泄露网站列表上看,已经有多家国内公司数据上榜,某知名网站也在列: 

网站上还可直接检查你的密码是否已经泄露,我们测试一个符合百度密码规则的看看: 

可以看到有多少人和你设一样的密码的了!囧

PwnedPasswords.Client NuGet包

网站也提供了API(https://haveibeenpwned.com/API/v3)用于执行检查操作。

而.Neter可以直接使用NuGet包PwnedPasswords.Client来调用API。

引用PwnedPasswords.Client NuGet包后,在Startup.cs文件的ConfigureServices方法中加入下列代码:

services.AddPwnedPasswordHttpClient(minimumFrequencyToConsiderPwned: 1000);

minimumFrequencyToConsiderPwned表示泄露次数超过此设置的才算弱密码。

使用HasPasswordBeenPwned检查密码是否已经泄露:

private readonly ILogger<WeatherForecastController> _logger;
private readonly IPwnedPasswordsClient pwnedPasswords;public WeatherForecastController(ILogger<WeatherForecastController> logger, 
IPwnedPasswordsClient pwnedPasswords)
{_logger = logger;this.pwnedPasswords = pwnedPasswords;
}[HttpGet]
public async Task<string> GetAsync(string password)
{if (await pwnedPasswords.HasPasswordBeenPwned(password)){ return "弱密码";}return "强密码";
}

结论

由于泄露密码随时在增加,建议在登录时也加上弱密码检测。

一旦发现密码属于已泄露的,则跳转到修改密码页面,要求用户重新设置密码。

如果你觉得这篇文章对你有所启发,请关注我的个人公众号”My IO“,记住我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SVN的VS.NET插件——AnkhSVN

用了几个月SubVersionTortoiseSVN&#xff0c;感觉很不错。唯一美中不足的就是TortoiseSVN是在WINDOWS资源管理中进行操作的&#xff0c;在实际开发中&#xff0c;项目中新建了个文件&#xff0c;经常会忘记了将文件加入SVN管理。这样在下次提交时这个文件就不会被提交&#xf…

中国人数学好,数学思维差?

小天经常可以看到在微博热搜吐槽歪果仁数学不好的段子&#xff0c;比如6.8&#xff0c;我们习惯给11.8&#xff0c;让收银员找5块钱&#xff0c;但歪果仁就不行啦&#xff0c;这样他们会更乱&#xff01;所以我们容易觉得中国人数学好&#xff0c;算数特别快还准&#xff01;但…

生产力提升! 自己动手自定义Visual Studio 2019的 类创建模板,制作简易版Vsix安装包...

序言最近一直在开发 webApi 接口&#xff0c;为了方便我采用了反Restful风格开发&#xff0c;90%的接口均采用post方式&#xff0c;小部分查询采用Get方式&#xff0c;接口的入参和出参定义每次都需要手动创建2个类&#xff0c;心不累手累&#xff0c;怎么能减轻点工作&#xf…

【个人笔记】关于IO类中流的整理

学习IO部分的知识后&#xff0c;被处理流的各种类搞得有点乱&#xff0c;所以得写篇文章总结下。IO包里面有很多输入输出类&#xff0c;一般我们是通过控制流来控制输入输出的。IO包里面对于控制流分为两大类&#xff0c;一类是字节流&#xff0c;一类是字符流。字符流的两个大…

全国胸最小的省是哪个,你知道吗?| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源网络&#xff0c;侵权删&#xff09;所以最大的是哪个省的↓ ↓ ↓

.NET Core with 微服务 - Elastic APM

上一次我们介绍了Seq日志聚合组件。这次要给大家介绍的是Elastic APM &#xff0c;一款应用程序性能监控组件。APM 监控围绕对应用、服务、容器的健康监控&#xff0c;对接口的调用链、性能进行监控。在我们实施微服务后&#xff0c;由于复杂的业务逻辑&#xff0c;服务之间的调…

java 推送数据给js,Node.js实现数据推送

场景&#xff1a;后端更新数据推送到客户端(Java部分使用Tomcat服务器)。后端推送数据的解决方案有很多&#xff0c;比如轮询、Comet、WebSocket。1. 轮询对于后端来说开发成本最低&#xff0c;就是按照传统的方式处理Ajax请求并返回数据&#xff0c;在学校的时候实验室的项目一…

【开学季限时免费】下载19880元大数据开发全链路教程(视频+源码)

随着大数据、云计算、物联网、人工智能这些行业的发展崛起&#xff0c;对于大数据人才的需求越来越大&#xff0c;而大数据人才的培养发展周期相对较长&#xff0c;导致了大数据人才短缺&#xff0c;市场供不应求。所以也就出现了大数据开发工程师、数仓工程师、ETL工程师.....…

COM 组件设计与应用(七)

COM 组件设计与应用&#xff08;七&#xff09;编译、注册、调用作者&#xff1a;杨老师 一、前言  上两回中&#xff0c;咱们用 ATL 写了第一个 COM 组件程序&#xff0c;这回中&#xff0c;主要介绍编译、注册和调用方法。示例程序你已经下载了吗&#xff1f;如果还没有下载…

人类史上20个“最强大脑”

全世界只有3.14 %的人关注了青少年数学之旅今天给大家说道说道这人类历史上20位最强大脑&#xff0c;这些伟人来自各个不同的时期和领域&#xff0c;他们的思想和贡献对人类日后有着重大的影响&#xff0c;其中包括了众多的科学家&#xff0c;哲学家&#xff0c;诗人&#xff0…

LYNC2013部署系列PART4:群聊部署

前言&#xff1a;本篇文章将介绍LYNC2013群聊服务器的部署&#xff0c;在LYNC2010中&#xff0c;群聊服务还没集成到LYNC2010产品中&#xff0c;需要单独额外部署&#xff0c;群聊客户端也没有集成到LYNC2010客户端中。到LYNC2013中&#xff0c;集成工作全部搞定了。我是习惯了…

不要笑!写 | 还是 || ,还真是一个问题

这么简单的问题还写&#xff1f;先不要笑。打开你代码量最多的项目&#xff0c;搜索|或者&,看看有多少条这样的代码&#xff01;前不久&#xff0c;我在dotnet/machinelearning上提交了一个pull request。修改内容是把"|"改成"||", 把"&"…

UNIX网络编程——ioctl 函数的用法详解

1.介绍Linux网络程序与内核交互的方法是通过ioctl来实现的&#xff0c;ioctl与网络协议栈进行交互&#xff0c;可得到网络接口的信息&#xff0c;网卡设备的映射属性和配置网络接口。并且还能够查看&#xff0c;修改&#xff0c;删除ARP高速缓存的信息&#xff0c;所以&#xf…

你对求生欲,一无所知!| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅【1】【2】【3】【4】【5】【6】【7】【8】【9】【10】【11】【12】【13】【14】【15】&#xff08;图源网络&#xff0c;侵权删&#xff09;学到了吗&#xff1f;↓ ↓ ↓

C#位图BitArray 小试牛刀

前面聊了布隆过滤器&#xff0c;回归认识一下位图BitMap&#xff0c;阅读前文的同学应该发现了布隆过滤器本身就是基于位图&#xff0c;是位图的一种改进。难缠的布隆过滤器&#xff0c;这次终于通透了位图先看一个问题&#xff0c; 假如有1千万个整数&#xff0c;整数范围在1到…

装上了Visual Studio 2005

为了下Visual Studio 2005&#xff0c;我装上了从来没用过的BT&#xff0c;开着电脑下了一夜&#xff0c;今天早上终于下完了&#xff0c;2.6G呀&#xff0c;多么浩大的工程&#xff0c;比PES5还大。现在的软件动不动就是DVD&#xff0c;要不是还有个刻录机&#xff0c;我的硬盘…

在asp.net core 下定义统一的入参和出参格式

在使用.net core 开发Api的过程中&#xff0c;为了统一输入参数的格式&#xff0c;并增加一些全局必须含有的字段&#xff0c;比如&#xff1a;Code&#xff0c;Message&#xff0c;Lang等等&#xff0c;能采取的变通方式还是有几种的&#xff0c;然而都不够优雅&#xff0c;为…

泰勒定理的奇闻轶事

全世界只有3.14 %的人关注了青少年数学之旅泰勒展式 (Taylor expansion) 的剩余项救人一命&#xff01;在俄国革命期间&#xff08;1917年左右&#xff09;&#xff0c;数学物理学家塔姆 (Igor Tamm) 外出找食物&#xff0c;在靠近敖德萨 (Odessa) 的乡间被反共产主义的保安人员…

6月统计|.NET薪资一旦高起来,岂是其他语言能比的!

全国程序员6月平均薪资出来了&#xff0c;帝都和魔都平均工资超过18k&#xff0c;你被平均了吗&#xff1f;而中位数17k&#xff0c;你拖后腿了吗&#xff1f;当然&#xff0c;.NET开发者的目标不是平均工资&#xff0c;而是double&#xff01;年初跳槽季&#xff0c;腾讯、阿里…

剑桥大学的下午茶,为何能喝出六十位诺贝尔奖获得者?

全世界只有3.14 %的人关注了青少年数学之旅英国人的骄傲是他们有世界上最古老的大学&#xff0c;创立于1209年的剑桥大学。英国剑桥大学每天下午有两个小时的时间&#xff0c;常常有计划、有组织地安排不同学科的权威教授一起在学校咖啡屋或茶园共进下午茶。在这里&#xff0c;…