密码加密

密码加密

一般在数据库中存储明文的密码是不安全的,一般在项目中都会对密码进行加密密码。加密肯定需要加密算法。加密算法分两大类,一大类是可逆加密,另外一大类不可逆加密。可逆加密分两类,一类是对称加密,另外一类是非对称加密。可逆加密一般都有公钥和私钥,一般对称加密的私钥在客户端和服务器端都是一致的。非对称加密私钥在客户端和服务器端是不一样的。非可逆加密,有一个比较牛的美国人说过,任何加密算法的安全性都要建立在你的源码已经被别人获取的情况下还算安全,那这种加密算法才算成功的。这就是非可逆加密。常用的非可逆加密算法有MD5和SHA1 ,SHA256等等。这些加密算法一般都是采用散列运算来实现的。
/**
* 测试非可逆加密算法
*/
public class PasswordUtil {
public static void main(String[] args) {
String str = "123456";
//第一个参数代表加密使用的算法 第二个参数要加密的字符串 第三个参数 加入的盐的值 第四个参数 hash迭代的次数
//以后再保存用户的密码应该使用加密算法加密
SimpleHash simpleHash = new SimpleHash("md5",str,"123",10);
String code = simpleHash.toString();
System.out.println("加密后的密文:"+code);
}
}
密码加密存储之后,在使用shiro做校验的时候,应该在realm中做如下配置:
在自定义的realm中,传入用户密码项对应的盐值:

 

转载于:https://www.cnblogs.com/duguangming/p/11047209.html

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

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

相关文章

WebApp匯入資料之From Excel

1、情景點擊“瀏覽”按鈕,尋找要上傳的Excel。按下上傳按鈕,資料寫入資料庫(database)並且顯示在畫面上。然後,按下“保存”按鈕,Datagrid上的資料寫入DB。2、分析按下上傳按鈕,先將Excel上傳到…

在linux系统中查看组管理信息命令,Linux用户和组管理常用命令

导读这篇文章主要介绍了用户和组管理常见,总结整理了linux用户和组管理相关原理、操作与使用注意事项,需要的朋友可以参考下。1、用户隶属于用户组的2、用户与用户组配置文件1)用户组配置文件/etc/group第一列:用户组的组名第二列:组密码(真正的密码存储…

Node.js有了新的管理者

一段时间以来,围绕Node.js发展方向的争论一直不断。去年10月,Joyent宣布成立Node.js咨询委员会,探索一种开放式的治理模式,但还是没能避免io.js分支的出现。而不久前,Node.js和io.js似乎出现了合二为一的希望。近日&am…

sql server 函数学习

sql server 创建函数 资料 https://docs.microsoft.com/zh-cn/sql/relational-databases/user-defined-functions/create-user-defined-functions-database-engine?viewsql-server-2017 https://www.cnblogs.com/ABblog/p/5660610.html -- SELECT *from wzh_demo1 CREATE FUN…

在linux操作系统也有非常友好的图形界面,一般我们称为,在linux操作系统也有非常友好的图形界面,一般我们称为...

操作不属类型的是梗死于脑。理学完全得益中于物,系统形界香气空气带有的分使得散子在中扩,们的被我鼻子:花大学的芬感知中国芳能。比性会计核算的可原则,也有友好般期间不同会计会计信息向比较的纵以便。户贷记录是:非常在账方的&…

Trust is the most important thing to the team!

Trust is the most important thing to the team!转载于:https://www.cnblogs.com/7hihi/archive/2010/11/23/2564240.html

MATLAB中导入数据:importdata函数

用load函数导入mat文件大家都会。可是今天我拿到一个数据,文件后缀名竟然是‘.data’。该怎么读呢? 我仅仅好用matlab界面Workspace区域的“import data”button手工导入该文件。恩,还好,竟然成功了。顺便提一下,这个“…

Codechef January Challenge 2018 - Killjee and k-th letter

题意: 给出一个的串 s,将 s 所有子串按照字典序排列好相接起来形成一个新串q次询问,每一次询问问新串中的第 k 个字符是什么,强制在线。 $|s|,q \le 2*10^{5} $ 跟所有子串有关,那肯定要么是后缀自动机,要么…

linux如何过滤字符串,在linux系统如何grep过滤中,不包含某些字符串的命令

转:http://www.dutycode.com/linux_grep_bubaohan.html文章系转载,亲测可用(转载自:http://www.itokit.com/2014/0105/75018.html)grep命令应该是我们在获取字符串内容时,或读取文件时,进行分析的好命令,但…

AppFabric Caching Admin Tool

最近试用了一下MS的AppFabric的分布是缓存(Velocity),发现了一个不错的可视化配置工具挺有用,先介绍给大家,后续再详细介绍。 http://mdcadmintool.codeplex.com/ Project Description The AppFabric Caching Admin To…

剑指offer——最小的K个数和数组中第K大的元素

解题思路: 乘着做这个题,顺便复习下堆排序。 先说堆排序是一个什么东西:https://blog.csdn.net/u013384984/article/details/79496052 大顶堆升序,小顶堆降序。 随便定义的一个堆。 第一步: 此时我们从最后一个非叶子结…

深度启动盘工具linux,Linux下无法安装深度启动盘制作工具

正在选中未选择的软件包 deepin-boot-maker。(正在读取数据库 ... 系统当前共安装有 231455 个文件和目录。)正准备解包 deep.deb ...正在解包 deepin-boot-maker (2.0.0-1) ...dpkg: 依赖关系问题使得 deepin-boot-maker 的配置工作不能继续:deepin-boot-maker 依赖…

GIS二次开发之初探

最近一段时间在学习GIS的二次开发,作为新手,最好的方法就是泡论坛,看原码,当然涉及到地理方面的专业知识,不可能说一两天就可以弄懂,只有在学习编程的过程中慢慢的去体会一些地理专业上面的知识。 就几天的…

构建之法阅读笔记03

个人感受: 过去:个人英雄主义,却是一只狗熊 为什么不好:双拳难敌四腿,大项目一个人是很难完成的 解决方法:加入团队,共同开发 这章让我了解到了很多种软件开发的团队模式,有娱乐性的…

CSS3 2D Transform

位移translate()函数 结合起来,translate()函数移动元素主要有以下三种移动: 水平移动:向右移动translate(tx,0)和向左移动translate(-tx,0);垂直移动:向上移动translate(0,-ty)和向下移动translate(0,ty);对角移动&am…

[转]用g++编译动态链接库

写了一个最简单的动态链接库程序,使用g命令行编译。怕以后忘记,就把它记到blog中。动态库导出头文件:/** * file: dll.h * Powered by JGood 2009-09-22 */ #ifndef __dll_h__#define __dll_h__ #ifdef __MY_DLL_LIB__ #define DLL_EXPORT extern …

linux传奇源码,游戏源码 屠龙传奇H5 鲲乃异兽 全套源码+教程

一、游戏的要求系统要求系统要求liunx6.9系统 因为游戏是java对服务器配置要求比较高如果您的资金够宽裕可以选择直接购买 liunx6.9系统 8核16G 240G/320G硬盘 10兆以上宽带的服务器 这样可以直接保证游戏的稳定性如果不想出那么多钱 可以一步一步来开新区用4核4G 1…

javascript setTimeout 和 setInterval 区别

[setTimeout]setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数 是一次用setTimeout实现的自动变化显示随机数的效果:<html><head><script>window.οnlοadsett;function sett(){document.body.innerHTMLMath.rando…

如何量化考核软件开发人员绩效

为什么80%的码农都做不了架构师&#xff1f;>>> 1、首先有技术积累的前提下&#xff0c;能比较正确的估量项目成本和项目组生产率 2、设立项目组短期目标、中期、长期目标&#xff08;这个因项目具体情况而已&#xff0c;有些项目都是很小的&#xff0c;甚至2个星期…

linux创建自定义组件qt,关于QT自定义控件

Linux中I/O设备分为两类&#xff1a;块设备和字符设备。两种设备本身没有严格限制&#xff0c;但是&#xff0c;基于不同的功能进行了分类。用户自定义的控件可以通过继承现有的 Qt 控件实现&#xff0c;也可以直接从 QWidget 继承。QT中的label控件&#xff0c;没有预定义的单…