gitlab用户密码加密研究——bcrypt加密算法

本文详细介绍了如何在GitLab中利用bcrypt加密算法保护数据库中的用户密码,包括生成盐值、设置工作因子、哈希过程以及bcrypthash的结构,强调了其在防止暴力破解和彩虹表攻击方面的优势。
摘要由CSDN通过智能技术生成

一、背景

获取了gitlab的git权限后,可通过gitlab-rails console进入控制台,对gitlab的数据库进行读写操作,面临一个很棘手的问题就是,数据库中的用户密码均采用了bcrypt加密算法,通常情况下,知名的cmd5都难以解密获取原明文密码。bcrypt作为一种专为密码存储设计的哈希函数,它结合使用了盐值、工作因子和Blowfish算法,使得其在防御彩虹表攻击和暴力破解方面表现出色。通过独特的哈希机制,bcrypt能够确保密码的安全性,有效防止潜在的安全威胁。

二、算法起源

该算法由Niels Provos和David Mazières共同设计,其灵感来源于Blowfish密码算法。该函数在1999年的USENIX会议上被正式提出,自那时起便因其独特性和安全性而备受关注。bcrypt 的设计初衷是为了保护存储在数据库中的密码免受攻击,提供一种更加强大、可靠的密码散列方式,以防止暴力破解和彩虹表攻击等常见密码攻击手段。

三、原理

生成盐——>>设置工作因子——>>组合密码和盐——>>扩展密钥——>>生成哈希值——>>校验密码

对密码进行哈希处理时,bcrypt算法首先会生成一个随机的盐值。这个盐值是一个足够长的随机数,通常为128位&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值