`
gaojingsong
  • 浏览: 1209911 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Bcrypt简介

 
阅读更多
Bcrypt简介: bcrypt是一种跨平台的文件加密工具。

bcrypt 使用的是布鲁斯·施内尔在1993年发布的 Blowfish 加密算法。

由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部
被转化为448位的密钥。

Bcrypt就是一款加密工具,可以比较方便地实现数据的加密工作。你也可以简单理解为它内部自己实现了
随机加盐处理

例如,我们使用MD5加密,每次加密后的密文其实都是一样的,这样就方便了MD5通过大数据de的方式
进行破解。

Bcrypt生成的密文是60位的。而MD5的是32位的。

jBCrypt is a Java™ implementation of OpenBSD's Blowfish password hashing code,
 as described in "A Future-Adaptable Password Scheme" by Niels Provos and David Mazières.
This system hashes passwords using a version of Bruce Schneier's Blowfish
 block cipher with modifications designed to raise the cost of off-line 
password cracking and frustrate fast hardware implementation. The computation
 cost of the algorithm is parametised, so it can be increased as computers 
get faster. The intent is to make a compromise of a password database less likely 
to result in an attacker gaining knowledge of the plaintext passwords (e.g. using John the Ripper).
There seems to be a lack of good password hashes for Java - the top two hits 
in Google (as of 2006/05/24) for "Java password hash" and "Java password encryption" both offer terrible advice: one uses an unsalted hash which allows reverse dictionary lookup of passwords and the other recommends reversible encryption, which is rarely needed and should only be used as a last resort.
jBCrypt is licensed under a ISC/BSD licence (see the LICENSE file for details) and ships with a set of JUnit unit tests to verify correct operation of the library and compatibility with the canonical C implementation of the bcrypt algorithm.


BCrypt加密:是一种加盐的加密方法,MD5加密时候,同一个密码经过hash的时候生成的是
同一个hash值,在大数据的情况下,有些经过md5加密的方法将会被破解.使用BCrypt进行加密,
同一个密码每次生成的hash值都是不相同的。每次加密的时候首先会生成一个随机数就是盐,
之后将这个随机数与密码进行hash,得到 一个hash值存到数据库中使用的函数是
BCrypt.hashpw(password, BCrypt.gensalt())。当用户在登陆的时候,输入的是明文的密码,
这个时候,在springSecurity.xml文件中的认证管理器中配置BCrypt加密方式,将会将会从
数据库中取出这个hash值进行分离,前面的22位就是加的盐,之后将随机数与前端输入的密码
进行组合求hash值判断是否相同,使用的函数是: match 

0
1
分享到:
评论

相关推荐

    PyPI 官网下载 | bcrypt-1.1.1-cp27-none-win_amd64.whl

    **bcrypt简介** `bcrypt`是一个基于Blowfish加密算法的密码哈希函数,最初由Niels Provos和David Mazières在1999年提出。它被设计成一种慢速的密码哈希函数,目的是为了抵御彩虹表攻击。bcrypt通过引入盐值(salt)...

    Spring security BCryptPasswordEncoder密码验证原理详解

    return BCrypt.hashpw(rawPassword.toString(), salt); } 可以看到,encode 方法首先生成一个盐值,然后将明文密码和盐值传递给 BCrypt.hashpw 方法进行加密。 2. BCrypt.hashpw 方法 BCrypt.hashpw 方法的实现...

    Laravel开发-laravel-md5-hash

    **MD5简介** MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常用32个十六进制数字表示。由于MD5算法存在已知的碰撞漏洞,即能找到两个不同的输入产生相同的...

    Windows API CryptAPI函数库

    CryptoAPI简介** CryptoAPI是微软开发的一个应用程序接口,它为开发者提供了一个统一的接口来处理密码学操作。这个框架简化了密码学算法的使用,使得开发者无需深入理解底层的加密细节,就可以利用标准的加密技术...

    2023最新全功能版在线WEB工具箱PHP源码

    Bcrypt 生成器工具。 密码生成器工具。密码强度检查工具。弹头生成器工具。HTML 压缩工具。CSS 缩小工具。JS 压缩工具。用户代理解析器工具。 网站托管检查工具。字符计数器工具。URL 解析器工具。颜色转换工具。...

    Nacos控制台简介.pdf

    #### 一、Nacos控制台简介 Nacos是一款开源的服务发现与配置管理系统,旨在提供一套完整的解决方案以管理和监控微服务架构。Nacos控制台是Nacos的重要组成部分之一,它提供了丰富的图形化界面,用于简化微服务管理...

    springboot旅游系统毕业设计

    技术简介 1、后台主要框架:SpringBoot 2、前台模板引擎:Thymeleaf 3、前端用户页面:BootStrap、Html+Css、jquery、javascript、ajax、sweetalert等技术(模板网站中下载) 5、后端管理员页面:Layui、Bootstrap...

    (源码)基于SpringBoot和Vue的设备管理系统.zip

    ## 项目简介 本项目是一个基于Spring Boot和Vue框架的设备管理系统,旨在提供一个高效、易用的设备管理解决方案。系统涵盖了设备的注册、分类、产品管理、订单处理、支付配置等多个功能模块,支持多租户架构,适用...

    Jenkins修改密码.docx

    jBCrypt简介** - **不可逆性**: jBCrypt是一种不可逆的加密算法,这意味着无法直接通过解密密文来获取原始的明文密码。 - **验证机制**: jBCrypt不是通过直接解密密文来验证密码,而是通过将输入的明文密码与存储...

    2023最新全功能版在线WEB工具箱PHP源码 66toolkit.zip

    功能简介 DNS 查找工具。IP 查找工具。SSL 查找工具。Whois 查询工具。Ping工具。MD5 生成器工具。Base64 转换工具。Base64 图像转换工具。 URL 转换工具。Lorem ipsum 生成器工具。Markdown 到 HTML 工具。案例...

    sei-project-3:这是我作为学生在大会沉浸式软件工程计划中完成的第三个项目。 这是一个构建全栈MERN应用程序的小组项目

    项目简介 这是我在大会沉浸式软件工程计划中完成的第三个项目。 项目三是一个小组项目。 在第三个项目中,我们的任务是在10天的时间内构建一个完整的MERN应用程序。 使用的技术 语言能力 HTML CSS Java脚本 框架和...

    mern-training

    回调介绍 / Promise、async 和 await / Jwt 令牌和 bcrypt 认证授权/Mongodb查询 日志记录/错误处理/调试 问卷环节 - 互动环节 前端话题 React.js 简介 React.js 中的状态和道具 父/子组件/协调算法 响应处理程序和...

    completeRubyOnRailsDeveloperCourse

    Mixins 1-bcrypt 46:最终的Ruby项目:类,模块,Mixins 2-方法48:最终的Ruby项目:类,模块,混合插件3-模块50:方法名称的“自我”表示法51:最终的Ruby项目:类,模块,Mixins 4-包括第3节:Ruby on Rails简介58...

    文档:翼手龙的文档是开源的! 该存储库包含用于安装和更新面板和守护程序的文档

    /项目/简介 标题 细节 安全第一 安全性是该平台上一流的公民,其现成的bcrypt哈希,AES-256-CBC加密和HTTPS支持。 标题 细节 现代工装 建立在采用最佳设计实践的现代堆栈上,可轻松进入和进行修改。 标题 细节 ...

    mongoose-pii:一个Mongoose插件,可让您透明地加密存储的PII并使用安全隐藏的密码

    目前最典型的技术水平是BCrypt,在生产中具有安全随机的IV和10多个回合(例如2个10 +迭代)。 PII应该安全加密; 通常我们会使用AES256。 这些帮助避免通过数据库盗窃或未经授权的直接访问来访问明文密码和破坏PII...

    PHP应用程序安全编程.rar.rar

    5. **密码存储和哈希**:不要明文存储用户密码,而应该使用不可逆的哈希算法(如bcrypt或argon2)结合加盐(salt)进行存储。哈希加盐可以防止彩虹表攻击,增加密码破解的难度。 6. **权限控制和访问控制列表(ACL...

    Node.js-Todo_list

    简介 使用框架Express.js练习的简易MVC架构todo-list。 使用技术 初步框架Express.js 其他套件 bcrypt-密码杂凑处理 cors-实现跨域请求 connect-flash-管理跨页面提示消息(成功/错误) dotenv-集中管理环境变数并...

    AutoMationTest:Pytest测试框架,UI, API, DataBase,部分功能已封装,可根据实际需求修改

    1 简介基于Python,测试框架采用Pytest,API方面采用requests库,UI采用Selenium,目前适配了windows下IE、Chrome,Mac下的Chrome暂时未适配Firefox以及Linux下的所有浏览器(linux版本太多,有需求的话可以在Issue...

    go-ginn:ginn是Gin框架+开箱即用众多彪悍库的集合,助力高效开发,更加聚焦业务开发

    Go-Ginn简介: 开箱即用Golang-Web脚手架,简称:ginn Gin框架 + 彪悍库 现有库: gorm viper zap casbin 七牛云 jwt库 swagger 雪花算法生成UUID bcrypt加密 air调试神器 优雅重启 优雅关机 公共库 环境搭建调试和发布...

Global site tag (gtag.js) - Google Analytics