<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.4</version> </dependency> 引入上述的shiro的POM SimpleHash类共有6个常用的hash算法的子实现类: 下面以常用的MD5摘要算法为例,使用Md5Hash类来进行测试类编写 Md…
CREATE CSS3是一款在线集成众多CSS3功能的生成器,可以在线生成常用的CSS3效果 CREATE CSS3 彩蛋爆料直击现场 CREATE CSS3是一款在线集成众多CSS3功能的生成器,可以在线生成常用的CSS3效果.…
Loadrunner随机生成15位数字串 PS:http://www.51testing.com/html/43/6343-19789.html 今天看到一个网友的问题,是想生成一个15位的数字串来进行参数化输入,要求如下:1.前4位均是04362.其余的是11位的随机数原帖地址:http://bbs.51testing.com/viewthread.php?tid=89018&page=1&extra=page%3D1 拿到问题,我思考了一下,前4位使用固定值很好办,唯一的问题就是生成随…
前言: 这个文章只要是记录一下,这个工具的诞生过程.作用.其中的技术实在是太简单可以说没有什么技术~主要是锻炼一下写文章的能力! 正文: 在开发项目的时,常常会要维护或变更一些老项目,涉及到简单的几张表的操作,大部分都是ADO操作数据库的代码!写写改改.添加.删除什么的.用那些代码生成器什么的,都需要配置不少东西,况且我真正要生成的只要一小段代码,自食其力,就自己弄一个这样的工具来帮助自己吧. 既然是对SqlServer进行操作的工具,肯定第一步要实现对SqlServer的链接了也就是登陆Sql…
原文:http://www.open-open.com/code/view/1422514803970 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import ja…
1. 使用JAVA的UUID生成 算法的核心思想是结合机器的网卡.当地时间.一个随记数来生成UUID. 优点:本地生成,生成简单,性能好,没有高可用风险 缺点:长度过长,字母和数字组合,存储冗余,且无序不可读,查询效率低 2. 数据库自增ID 使用数据库的id自增策略,如 MySQL 的 auto_increment.oracle的sequence.并且可以使用两台数据库分别设置不同步长,生成不重复ID的策略来实现高可用. 优点:数据库生成的ID绝对有序,高可用实现方式简单 缺点:需要独立部署数…
(一)Eclipse中的快捷键:  ctrl+shift+f自动整理选择的java代码 alt+/ 生成无参构造器或者提升信息 alt+shift+s+o 生成带参构造 ctrl+shift+o快速导入包 alt+shift+s+r tab+enter-->shift+tab+enter 快速生成get set方法 ctrl+f11快速运行代码 说明:快捷键可以快速帮我们生成代码,减少开发的时间,提高效率,记住几个主要的就可以,其他的可以在Eclipse的编辑器中右键鼠标,在弹出的菜单项中选择s…
一: newSingleThreadExecutor 创建一个单线程的线程池,以无界队列方式运行.这个线程池只有一个线程在工作(如果这个唯一的线程因为异常结束,那么会有一个新的线程来替代它.)此线程池能够保证所有任务的执行顺序按照任务的提交顺序执行,同一时段只有一个任务在运行. 此类型线程池特别适合于需要保证执行顺序的场合. package com.clzhang.sample.thread; import java.util.concurrent.Executors; import java.…
一.java.lang.String 1.string对象不可变,被final修饰,不能被继承. 2.赋值方式: (1)直接赋值.比如: String name = "rick"; (2)使用new关键字创建.比如:String name = new String("rick"); 3.常用构造方法: (1)public String();   //无参构造方法,用来创建空字符串的String对象. (2)public String(String original)…
java通过jdk自带的UUID,生成32位的随机串 private static String generate_UUID() { UUID uuid=UUID.randomUUID(); String str = uuid.toString(); System.out.println("str: " + str); // bb01a3cd-987f-469d-9e0f-04dffa2d3278 return str.replace("-", "&quo…
1.导入包 import org.apache.shiro.crypto.hash.SimpleHash; 1 2.代码 import org.apache.shiro.crypto.hash.SimpleHash; import org.apache.shiro.util.ByteSource; /* * @Description 散列算法 生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据, * @Author Madr * @Date 2018/3/24 13:28 */…
目录 Shiro 概述 shiro核心概念 核心类 整体类图 主要概念 Shiro架构 认证 什么是认证 关键对象 使用ini完成认证 认证流程 自定义realm 散列密码 授权 什么是授权 使用ini形式配置权限信息 自定义Realm形式权限 Shiro 概述 什么是权限管理 权限管理实现对用户访问系统的控制 用户可以访问而且只能访问自己被授权的资源 只要有用户和密码的系统,权限管理几乎都会出现 举例 给张三赋予"人力资源经理"角色 "人力资源经理"具有"…
1 权限管理 1.1 什么是权限管理? 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问权限的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授予的权限. 权限管理包括身份认证和授权两部分,简称认证授权.对于需要访问控制的资源,用户首先要经过身份认证,认证通过之后用户具有该资源的访问权限方可访问. 1.2 用户身份认证 1.2.1 概念 身份认证,就是判断一个用户是否为合法用户的处理过程.最常用的简单身份认证方式是系统通过核对用户输入…
在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码.比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储. 5.1 编码/解码 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作.Shiro内部的一些数据的存储/表示都使用了base64和16进制字符串. String str = "hello"; String base64Encoded = Base64.encodeToString…
考虑系统password的安全,眼下大多数系统都不会把password以明文的形式存放到数据库中. 一把会採取下面几种方式对password进行处理 password的存储 "编码"存储 Shiro 提供了 base64和 16 进制字符串编码/解码的 API支持,方便一些编码解码操作. Shiro内部的一些数据的存储/表示都使用了 base64和 16 进制字符串. 以下两端代码分别对其进行演示 Stringstr = "hello"; Stringbase64E…
在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码.比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储. 5.1 编码/解码 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作.Shiro内部的一些数据的存储/表示都使用了base64和16进制字符串. String str = "hello"; String base64Encoded = Base64.encodeToString…
在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码.比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储. 5.1 编码/解码 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作.Shiro内部的一些数据的存储/表示都使用了base64和16进制字符串. String str = "hello"; String base64Encoded = Base64.encodeToString…
通过了三个月的实习,在javaWEB开发的过程当中,学习到了一些新的知识,特此记录一下学习到的一种新的WEB开发当中常用的用户认证和授权的安全框架,Shiro. 首先,要先知道shiro这个框架主要在WEB开发当中的定位,其主要的定位是用于做用户登录和权限控制的一个安全框架,可以帮助我们更加安全的完成用户的登录以及授权的相关过程,并且其使用和配置都十分的简便,还可以集成到SpringMVC当中,并且还能配合各类数据库的使用,包括mysql.nosql等,所以可谓十分强大但又很简练的安全框架. 要…
Shiro框架(原理分析与简单实现) 有兴趣的同学也可以阅读我之前分享的:Java权限管理(授权与认证)CRM权限管理   (PS : 这篇博客里面的实现方式没有使用框架,完全是手写的授权与认证,可以帮助理解Shiro框架) https://www.cnblogs.com/yly-blog/p/7283541.html 如果发现分享的内容有不合理或者的不对地方,请留言,我会及时定位分析,感谢!!! 1.介绍 1.1 什么是权限管理? 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安…
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2021439 目录贴:跟我学Shiro目录贴 在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码.比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储. 5.1 编码/解码 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作.Shiro内部的一些数据的存储/表示都使用了base64和16进制字…
在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码.为什么要加密:网络安全问题是一个很大的隐患,用户数据泄露事件层出不穷,比如12306账号泄露. Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作,想了解自己百度API操作用法. 看一张图,了解Shiro提供的加密算法: 本文重点讲shiro提供的第二种:不可逆加密. 散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如MD5.SHA等.一…
在涉及到密码存储问题上,应该加密/生成密码摘要存储,而不是存储明文密码.比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储. 5.1 编码/解码 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作.Shiro内部的一些数据的存储/表示都使用了base64和16进制字符串. Java代码   String str = "hello"; String base64Encoded = Base64.encod…
散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如 MD5.SHA等.一般进行散列时最好提供一个 salt(盐),比如加密密码"admin",产生的散列值是"21232f297a57a5a743894a0e4a801fc3",可以到一些 md5解密网站很容易的通过散列值得到密码"admin",即如果直接对密码进行散列相对来说破解更容易,此时我们可以加一些只有系统知道的干扰数据,如用户名和 ID(即…
apahce shiro:1.6.0 密码存储,应该加密/生成密码摘要存储,而不是存储明文密码. 1.编码/解码Shiro 提供了 base64和 16进制字符串编码/解码的API支持, 方便一些编码解码操作. String str = "hello"; #base64 String base64Encoded = Base64.encodeToString(str.getBytes()); String str2 = Base64.decodeToString(base64Encod…
1.随机数生成函数(来源-微信支付demo案例) /** * * 产生随机字符串,不长于32位 * @param int $length * @return 产生的随机字符串 */ public static function getNonceStr($length = 32) { $chars = "abcdefghijklmnopqrstuvwxyz0123456789"; $str =""; for ( $i = 0; $i < $length; $i+…
在常用的nodejs+express工程中,为了安全在登录及表单传输时,应该都需进行加密传输,目前个人常用到的加密方式有下列几种: 1.Hash算法加密: 创建一个nodejs文件hash.js,输入内容如下: var crypto = require('crypto'); //加载crypto库 console.log(crypto.getHashes()); //打印支持的hash算法 结果如下: [ 'DSA', 'DSA-SHA', 'DSA-SHA1', 'DSA-SHA1-old',…
http://www.tuicool.com/articles/iu2qEf 在一些环境中,可能需要把Web应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录.如一些REST风格的API,如果不使用OAuth2协议,就可以使用如REST+HMAC认证进行访问.HMAC(Hash-based Message Authentication Code):基于散列的消息认证码,使用一个密钥和一个消息作为输入,生成它们的消息摘要.注意该密钥只有…
转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务.用户只需双击批处理文件便可执行任务,而无需重复输入相同指令.编写批处理文件非常简单,但难点在于确保一切按顺序执行.编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效. 在Windows中善用批处理可以简化很多重复工作 什么是批处理 批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理.批处理文件的扩展名为bat. 目前比较常见…
转载: http://jinnianshilongnian.iteye.com/blog/2018398,         感谢原作者 <跟我学Shiro>PDF完结版下载 博客分类: 跟我学Shiro 跟我学Shiro  历经三个月左右时间,<跟我学Shiro>系列教程已经完结,暂时没有需要补充的内容,因此生成PDF版供大家下载.最近项目比较紧,没有时间解答一些疑问,暂时无法回复一些问题,很抱歉,不过可以加群(334194438/348194195)一起讨论问题.   点击下载&…