java sessionid长度_设置TOMCAT SESSIONID 字符长度和生成算法
修改TOMCAT 默认的生成SESSION ID的算法和字符长度非常简单,只需修改context.xml中的标签值,比如:
sessionIdLength="20"
pathname="SESSIONS.ser"
maxActiveSessions="8000"
secureRandomAlgorithm="SHA1PRNG"
secureRandomClass="java.security.SecureRandom"
maxInactiveInterval="60"
/>
标红的部分不用我说大家也应该知道了,算法除了SHA1PRNG还有好几种,具体可以查看 JDK DOC的java.security.SecureRandom类章节.
TOMCAT默认的SESSIONID生成器在高并发下可能产生些性能损失,因为采用了较为安全的随机数来生成SESSION的ID值。
实际上TOMCAT生成的SESSIONID是不可能有重复值的,查看TOMCAT源码文件:ManagerBase.java中的以下代码
/**
* Generate and return a new session identifier.
*/
protected String generateSessionId() {
String result = null;
do {
if (result != null) {
duplicates++;
}
result = sessionIdGenerator.generateSessionId();
} while(sessions.containsKey(result)); //此处保证最终生成给客户端使用的SESSIONID一定是不重复的
return result;
}
所以,不必担心SESSIONID的安全性,如果有更好的实现,可以修改相应代码用于特定项目中。
因此我们可以修改TOMCAT源码中的SessionIdGenerator.java生成ID的函数部分,比如采用 java.util.UUID+java.util.Random+(随机字符串)来构建更高效的生成SESSIONID的算法,或者自己实现相关部分等 等。
java sessionid长度_设置TOMCAT SESSIONID 字符长度和生成算法相关推荐
- c 获取char*的长度_最大的 String 字符长度是多少?
点击上方"武培轩",选择"设为星标" 技术文章第一时间送达! String 类可以说是在 Java 中使用最频繁的类了,就算是刚刚接触 Java 的初学者也不会 ...
- 设置TOMCAT SESSIONID 字符长度和生成算法
修改TOMCAT 默认的生成SESSION ID的算法和字符长度非常简单,只需修改context.xml中的<Manager>标签值,比如: <Manager sessionIdLe ...
- mysql 编码格式_设置MySQL的字符编码
前言 这里我已经将MySQL的数据库编码设置为UTF-8,所以下面现实的都是UTF-8. 设置MySQL数据库的编码方式有三种,分别是基于session会话的.基于全局gloable的.永久性改变的. ...
- python字符串最大长度_字符串String的最大长度
开篇三个问题 作为Java的程序员,不知道在Java代码中定义了多少个字符串,可是看看下面3个问题.你是否认真思考过?是否动手实践过? 1.Java中的字符串String的最大长度是多少? 2.Ecl ...
- 设计登录页面测试用例,页面包括账号、密码和验证码,账号字符长度小于20,密码字符长度小于30,验证码数字和字母组合,长度为4
1. 正确输入账号.密码和验证码,登录成功. 2. 账号为空,应提示"请输入账号". 3. 账号长度为19个字符,符合要求. 4. 账号长度为20个字符,符合要求. 5. 账号长度 ...
- 运筹优化学习21:Java调用Cplex实现求解Cuting Stock Porblem的列生成算法详解
目录 1 CSP问题与模型 1.1 问题描述 1.2 模型构建 2 列生成方法理论 2.1 引子 2.2 单纯形法到列生成 2.3 subproblem 2.3.1 对偶理论 2.3.2 影子价格 2 ...
- tomcat修改http长度限制_设置tomcat nginx上传文件大小限制
一.关于在tomcat在server.xml的配置文件上传大小20M的限制 – maxPostSize="20971520″ 二.在nginx的nginx.conf的配置文件上传大小为20M ...
- mysql signed 长度_浅谈mysql字段长度设置
mysql 中最常用的数据类型是tinyint,smallint,int,bigint,char,varchar; char(n)和varchar(n)存储固定长度的字符数据,长度最大为254字节.使 ...
- Java中计算处理中文两个字符长度问题解决(中文2个字符,英文1个字符)
在java中定义一个 String str="我爱中国" : str.length() 的长度是4 个字符,但是有时有我们处理文件格式的时候 ,定义固定的长度,中文只计算一 ...
最新文章
- 使用CEfSharp之旅(7)CEFSharp 拦截 http 请求 websocket 内容
- 如何设计一个本地缓存
- 比杠精网友更可怕的,是懂王同事
- 【noi 2.5_8465】马走日(dfs)
- Bash 文件夹操作
- 【技术分享】CSS 实现渐变色背景
- C# 页面调用控制台应用程序
- 复制文件的异常处理【应用】
- Ubuntu16.04 安装Maven 3.5.3
- Django实战(21):使用内置的Amin管理用户
- 高速EDA设计课程报告(二)
- PS抠图小技巧-【色彩范围】
- 公司不是家——联想员工亲历2004年联想大裁员【转载】
- 使用Python将word转换为pdf
- 计算机应用期刊查重率要求,计算机学报先审稿还是先查重
- 大富翁论坛和delphi盒子已正常开放
- 【教育教学资源】教育资讯、教学功能、当老师、或者补习班给学生的资料
- gta5 android ps4,gta5导演模式怎么玩好玩_gta5怎么进入导演模式怎么玩ps4导演模式怎么打开_攻略...
- Java实现Redis的列表(List)命令
- Java:输入年月日,输出这一天是这一年的第几天。
热门文章
- 概率论 方差公式_概率论与数理统计课程教学、学习基本要求和教学建议
- python基础语法实验要求_Python基础语法-关于条件
- bzoj1304 [CQOI2009]叶子的染色 dfs+树形dp
- Intel® Nehalem/Westmere架构/微架构/流水线 (9) - 系统软件增强/能耗增强
- Martin Odersky Scala编程公开课 第三周作业
- Unity网络--HLAPI(2):Unity HLAPI NetworkManager与NetworkBehaviour的回调函数
- java 90 训练营 二期下载_90天java进阶营二期 主流java技术与热门开源项目视频教程...
- 图解Visual Studio 2010中的UML建模功能
- [转]在Windows server 2012上部署DPM 2012 SP1 RTM之安装配置
- 弹飞大爷 BZOJ4764 LCT维护内向基环树森林