当前位置: 首页 > news >正文

Random,ThreadLocalRandom,SecureRandom有什么区别

private final Random random=new Random();

Make sure that using this pseudorandom number generator is safe here.

sonar给出的提示,应该如何修改代码?

根据Sonar的提示,为了确保在多线程环境下使用Random是安全的,您可以使用ThreadLocalRandom类来替代Random类,因为ThreadLocalRandom类是线程安全的。您可以修改代码如下:

private final ThreadLocalRandom random = ThreadLocalRandom.current();

这样就可以保证在多线程环境下生成的随机数是安全的。

那SecureRandom与ThreadLocalRandom 有什么区别? 应该使用那个?

SecureRandom类提供了更加安全的随机数生成器,适用于需要高度随机性的场景,如密码学和安全性相关的应用。SecureRandom使用更加复杂的算法来生成随机数,确保生成的随机数更加随机和安全。

ThreadLocalRandom类则是为了在多线程环境下更有效地生成随机数而设计的。每个线程都有自己独立的随机数生成器实例,避免了多线程下对同一个随机数生成器实例的竞争,提高了性能。

如果您的应用需要高度安全的随机数,如密码学或安全相关的场景,建议使用SecureRandom。如果您的应用在多线程环境下需要生成随机数,可以使用ThreadLocalRandom。

在一般情况下,如果不需要特别的安全性要求,而且是在多线程环境下生成随机数,可以选择使用ThreadLocalRandom。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【STM32 HAL库】全双工I2S+双缓冲DMA的使用
  • 科研绘图系列:R语言雨云图(Raincloud plot)
  • 【云原生】Prometheus 服务自动发现使用详解
  • Linux入门攻坚——28、php、mysql基础
  • 实现图片拖拽和缩小放大功能。
  • Java:对比一个对象更新前后具体被修改了哪些值
  • sqlalchemy_dm
  • JS中的File(五):node.js中的file模块使用
  • pytest:4种方法实现 - 重复执行用例 - 展示迭代次数
  • Java周总结7.20day
  • Python学习笔记—100页Opencv详细讲解教程
  • .NET 通过系统影子账户实现权限维持
  • 当Excel处理神器EasyExcel遇上Apache POI:一场关于依赖的趣味‘撞车’冒险
  • swift小知识点(二)
  • 使用APEXSQL LOG解析sql server事务日志,进行审计与数据恢复
  • bearychat的java client
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • React中的“虫洞”——Context
  • Spring Cloud Feign的两种使用姿势
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • TypeScript迭代器
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 和 || 运算
  • 实现简单的正则表达式引擎
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 为视图添加丝滑的水波纹
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • # Kafka_深入探秘者(2):kafka 生产者
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2)nginx 安装、启停
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (算法二)滑动窗口
  • (转)3D模板阴影原理
  • (转)C#调用WebService 基础
  • (转)关于多人操作数据的处理策略
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 无限分类
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • @AliasFor注解