博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用BCrypt算法免除存储salt
阅读量:7015 次
发布时间:2019-06-28

本文共 544 字,大约阅读时间需要 1 分钟。

  hot3.png

用户表的密码通常使用MD5等不可逆算法加密后存储,为防止彩虹表破解更会先使用一个特定的字符串(如域名)加密,然后再使用一个随机的salt(盐值)加密。

特定字符串是程序代码中固定的,salt是每个密码单独随机,一般给用户表加一个字段单独存储,比较麻烦。

BCrypt算法将salt随机并混入最终加密后的密码,验证时也无需单独提供之前的salt,从而无需单独处理salt问题。

用法很简单:

//hashed就是明文密码password加密后的结果,存储到数据库String hashed = BCrypt.hashpw(password, BCrypt.gensalt());//candidate是明文密码,checkpw方法返回的是booleanif (BCrypt.checkpw(candidate, hashed))    System.out.println("It matches");else    System.out.println("It does not match");

 
BCrypt下载:http://www.mindrot.org/projects/jBCrypt/

转载于:https://my.oschina.net/foodon/blog/492885

你可能感兴趣的文章
React Native
查看>>
节约内存:Instagram的Redis实践
查看>>
Cmd命令总结
查看>>
BAE试用
查看>>
Linphone学习之 Oss
查看>>
mysql 建立索引的时候 字段太长导致的异常
查看>>
解析nginx负载均衡
查看>>
Spring Boot 2.0配置druid
查看>>
【转】[VS2005]解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会......
查看>>
xcode打包app,替换icon后出现Command /usr/bin/codesign failed with exit code 1
查看>>
二叉搜索树
查看>>
从12306看高性能网站并发集群与负载均衡
查看>>
网络数据隐私保护 各国齐出招
查看>>
MySQL解压版安装步骤
查看>>
docker的安装及使用
查看>>
mongodb按时间分组
查看>>
c/c++变量之内存空间分配
查看>>
state状态设计模式
查看>>
产品经理技能树之 项目节点
查看>>
简析Android软键盘弹出时窗口上移的问题
查看>>