账号加密与撞库解密

zzp-biog zzp-biog     2023-01-03     532

关键词:

什么是拖库与撞库?

  拖库是指黑客盗取了网站的数据库。撞库是指黑客用拖库获得的用户名和密码在其它网站批量尝试登陆,进而盗取更有价值的东西。由于一些用户在多个网站用相同的用户名和密码,所以撞库是有一定成功率的。现在稍微有点责任感的网站都不会将密码明文保存在数据库中,起码会做一次MD5。要想撞库,必须得知道密码的明文,也就是用户真正输入的密码。我们知道MD5算法是不可逆的,黑客是怎么弄到密码明文的呢?最常用的办法就是MD5字典。

 

MD5字典是什么?

  其实就是提前将一些比较简单的密码(比如10位以内的纯数字)做MD5运算,将结果保存下来,破译密码的时候直接查就行了。比如字符串“123”的MD5值是“202cb962ac59075b964b07152d234b70”,黑客在拖来的数据库中看到某位用户的密码是“202cb962ac59075b964b07152d234b70”,通过字典一查就知道密码明文是“123”了。当然黑客用字典破译密码不会人工一个一个的查,而是用程序批量查询的。

 

所有密码都能用MD5字典破译吗?

  理论上可以,但实际上只能破解比较简单的密码。下面我们看看不同复杂度密码对应的MD5字典有多大。1.10位以内纯数字共10^1+10^2+10^3+10^4+10^5+10^6+10^7+10^8+10^9+10^10=10(1-10^10)/(1-10)=11,111,111,110条≈110亿条保存每条记录至少需要42字节(密码10字节+MD5值32字节),则存储该MD5字典至少需要约467GB空间。2.10位以内的数字+小写字母共36(1-36^10)/(1-36)=3,760,620,109,779,060条≈3760万亿条保存每条记录至少需要42字节(密码10字节+MD5值32字节),则存储该MD5字典至少需要约157946TB空间。通过以上两个例子可以看到,如果用户的密码是10位以上的数字和字母组合,通过MD5字典破解的概率几乎为零。但并不是所有用户的密码都足够强,黑客拖库后,使用弱密码的账户很容易就被查到明文了。对于使用弱密码的账户,被拖库的网站就无能为力了吗?不是的。办法也很简单,只要在MD5的时候加一个稍微复杂点的盐(比如GUID/UUID),就能极大的提高用户密码的安全性。加盐后的明文=明文+盐;密文=MD5(加盐后的明文);以GUID/UUID作为盐为例,哪怕明文再简单,加一个32位的盐,加盐后的明文也在32位以上了,通过MD5字典来破解是不现实的。如果所有网站都没有加盐,黑客只需建一套MD5字典,所有网站都能通用。如果所有的网站都加了盐,退一万步讲,哪怕盐也被黑客盗了,也不能用通用的MD5字典,得为每一个拖库的网站建一个字典。这样成本会高很多,如果动力不够,黑客就放弃了。防止拖库和撞库的对策有很多,我这里只是分析了其中的一点,并提出了相应的对策。办法很简单,相信很多网站也加了盐,或做了更复杂的操作,但没有加盐的网站也很多,要不然就不会经常发生撞库的事了。尽全力保护用户的信息安全是每个网站应尽的义务,这样才对得起用户对你的信任。一个小小的改变可以让用户的密码更加安全,希望能引起所有网站的重视。

javascriptsha1的解密语句是啥?已经有sha1的js库了,而且加密语句知道了,就差解密语句!!!

...HA1和发送者给你的一致,表示文件没有被篡改。网站登录账号/密码加密:用户在网站输入账号/密码后网站把用户输入的账号和密码通过SHA1加密后存储到DB,DB管理员看到账号密码只有一些字符串,即使是DB管理员也无法知道用户... 查看详情

什么是撞库,如何预防撞库攻击?

...击没有那么高深,举个例子来说,假设我有一个XX邮箱的账号,用户名是[email protec 查看详情

如何对数据库进行加密和解密

参考技术A数据库账号密码加密详解及实例数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,springsecurity也是需要进行同步配置的,因为springsecurity中验证的加密方式是单独配... 查看详情

网站被黑客扫描撞库该怎么应对防范?

...一系列可以登录的用户。因为很多用户在不同网站使用的账号密码大多是相同的,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网站。 那么碰见撞库之后,我们如何防护呢?为此我们咨询了网易云易盾 查看详情

shiro学习——密码的加密解密(代码片段)

...f0c;shiro就会去查找ini配置文件或者数据库对应字段来匹配账号密码。那如果我们把存储的密码加密,shiro又如何根据我们提交的明文密码与存储的加密密码匹配呢?Shiro加密与匹配的原理这里不准备展 查看详情

shiro学习——密码的加密解密(代码片段)

...f0c;shiro就会去查找ini配置文件或者数据库对应字段来匹配账号密码。那如果我们把存储的密码加密,shiro又如何根据我们提交的明文密码与存储的加密密码匹配呢?Shiro加密与匹配的原理这里不准备展 查看详情

springboot配置文件数据库账号密码加密

配置文件配置暴露一些密码问题处理:jasypt 是一个简单易用的加解密Java库相关源码github地址github:https://github.com/ulisesbocchio/jasypt-spring-boothttps://github.com/gxing19/Spring-Boot-Example/tree/master/spring-boot-password-encry 查看详情

解密mobaxterm已经存储session账号的密码(代码片段)

...,如果存储了Session(存储后再连接ssh的时候只需要输入账号不需要输入密码就可以直接连接上ssh),则可以使用github开源项目how-does-MobaXterm-encrypt-password将加密的密码反解出来。如果你是收费的专业版,你可以直接在界面上查看... 查看详情

解密mobaxterm已经存储session账号的密码(代码片段)

...,如果存储了Session(存储后再连接ssh的时候只需要输入账号不需要输入密码就可以直接连接上ssh),则可以使用github开源项目how-does-MobaXterm-encrypt-password将加密的密码反解出来。如果你是收费的专业版,你可以直接在界面上查看... 查看详情

关于密码的简单加密

...看得到。如果网页中要记住防止用户再登录该网站免输入账号和密码,可以通过cookie,sessionStorage,localStorage来记录。场景:用户成功登录一次后下次再登录免输账号和密码!保存在本地又不想明文显示出来。只能加密保存(一般加... 查看详情

12:字符串加密、解密

...)、单向加密算法:只能加密,不能解密的算法如:用户账号密码(单向加密)存储,此时任何人都不能查看该用户的明文密码流程->用户输入 查看详情

delphirsa加解密(rsa公钥加密,私钥解密)(rsa私钥加密,公钥解密)md5加密sha加密

作者QQ:(648437169)delphiRSA加解密【DelphiRSA加解密】支持(RSA公钥加密,私钥解密)、(RSA私钥加密,公钥解密)、MD5加密、SHA1加密、SHA224加密、SHA256加密、SHA384加密、SHA512加密 查看详情

加密解密

3.1、对称加密  采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。  需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常... 查看详情

java加密数据库(代码片段)

...密步骤  1.对数据库信息加密:    对数据库中的账号和密码信息进行加密(选择一种算法)然后替换掉原来的明文数据库配置信息。   2.解密:    在Spring读取使用配置文件时进行解密成明文。三.编码实现 ... 查看详情

c语言文件操作(文件加密解密|加密解密原理|对称加密|非对称加密|散列函数)

文章目录一、加密类型二、加密解密三要素三、加密应用场景四、散列函数一、加密类型数据加密操作分为对称加密和非对称加密;对称加密:加密密钥与解密密钥相同;非对称加密:加密密钥与解密密钥不同;二、加密解密三要素加... 查看详情

加密解密

 在现代密码学中,加密方法大致可分为对称密钥加密(对称加密)和公开密钥加密(非对称加密)。 一.对称加密(Symmetric-keyalgorithm,或对等加密:Reciprocalcipher)对称加密,即加密和解密使用同一个密钥,或者知道一方密钥能够... 查看详情

app账号密码传输安全分析

...,安卓app测试时使用代理抓包,发现所此app使用HTTP传输账号密码,且密码只是普通MD5加密,存在安全隐患,无法防止sniffer攻击、中间人攻击(因此这次安全问题,加强对这两安全术语的了解):问题1:账号密码采用http传输,... 查看详情

app账号密码传输安全分析

...,安卓app测试时使用代理抓包,发现所此app使用HTTP传输账号密码,且密码只是普通MD5加密,存在安全隐患,无法防止sniffer攻击、中间人攻击(因此这次安全问题,加强对这两安全术语的了解):问题1:账号密码采用http传输,... 查看详情