搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
凡人多烦事01
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
微信小程序(日历/日期)选择插件_小程序日历选择范围
2
PVE 安装 windows10_pve安装win10
3
GPT-4 AII 免费开源!本地部署,免翻墙_gpt4all-installer-win64
4
Windows 安装 Redis_windows安装redis
5
[计算机网络] 高手常用的几个抓包工具(下)_http debugger pro
6
(Datawhale)Java Task04:面向对象编程基础_huggingface_hub.utils._errors.repositorynotfounder
7
电子宠物系统一_设计一个电子宠物系统,包含狗狗(昵称、品种)和企鹅(昵称、性别),输入宠物昵称和宠
8
GEE计算遥感生态指数(RSEI)--Landsat 8为例_gee里function remove_water(img)
9
华为ensp中nat server 公网访问内网服务器
10
项目管理工具之Git/GitHub/Gitee/Gitlab_github项目管理工具
当前位置:
article
> 正文
(收藏)安全性要求高的要用真正密码随机数生成器_安全场景下必须使用密码学意义上的安全随机数
作者:凡人多烦事01 | 2024-04-12 23:59:47
赞
踩
安全场景下必须使用密码学意义上的安全随机数
首先随机数最基本的概念是
统计学意义上的伪随机数
,对于给定的一个样本集,每个元素
出现的概率是大概相似的,只要从人类的视角看上去一组数是随机的,就符合统计学意义
上的伪随机数定义;因为统计学上的伪随机数,在给定随机样本和随机算法的情况下,能
够有效地演算出随机样本的剩余部分,因此统计学上的伪随机数需要得到进一步地安全强
化,
密码学安全的伪随机数
应运而生;而随机数的最终概念形态,则是
真随机数
,其定义
是在满足前两个条件的基础上,再增加一个随机样本不可重现的条件。
然而,严格的真随机数是一种非常理想的形态,从真实情况来看,只要给定边界条件,真
随机数其实并不存在。因为无论背景辐射、物理噪音还是抛掷硬币,只要经过非常精密的
观察和测量,都是可以被预测的。但是在这些例子中,实际的边界条件非常复杂,而且是
极难观测的,因此我们可以认为这些条件下产生的随机数是非常接近真随机数的伪随机
数。
随机数的生成
产生随机数的方法被称为随机数生成器(RNG, random number generator)。
在实际应用中我们往往使用伪随机就足够了,这些随机数主要通过一个固定的、可重复的
计算方法生成,这些计算方法经过特殊的设计,使得产生的结果具有类似真随机数的统计
学特征。这种生成的伪随机数一般只是重复的周期比较大的数列,以算法和种子值共同作
用生成。这种生成伪随机数的方法叫伪随机数生成器(PRNG, pseudo-random number
generator),进一步能够生成密码学安全随机数的方法叫密码学伪随机数生成器
(CPRNG, cryptographic pseudo-random number generator)。
从实现的角度来看,伪随机数生成器会在函数内部维护一个状态,每个随机数的诞生,时
都是从这个状态计算出来的,这个状态随着下一个随机数的生成而改变,而第一个状态则
是由种子初始化得到。
无效的随机数
String
generateUrl
( String baseUrl ) {
Random
randomGen
=
new
Random
();
randomGen.setSeed((
new
Date
()).getTime());
return
(baseUrl + randomGen.nextInt(
400000000
) +
".html"
);
}
可以看到,如下代码使用
Random.nextInt()
函数来生成新的 URL 地址,其种子值由
(new Date()).getTime()
生成,该数值为 1970 年 1 月 1 日 00:00:00 GMT 至今的毫
秒数,已经具备较强的随机性和不可预测性。那么,这是否能说明,这段代码已经安全了
呢?
答案并非如此。
Random.nextInt()
函数是
java.util.Random
类的成员函数,而
java.util.Random
类是一个统计学意义上的伪随机数生成器,因此会更容易被攻击者猜
测到生成的数值,
对于安全性敏感的应用,建议使用密码学安全的随机数生成器
java.security.SecureRandom
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/凡人多烦事01/article/detail/413280
推荐阅读
article
Apollo
perception
源码阅读 |
lidar
_ccrfoneshottypefusio...
Apollo
perception
源码分析这应该是一篇巨长的文章
Apollo
6.0 感知融合 激光雷达建议参照源码阅读本...
赞
踩
article
Flask
asyncio
异步处理请求...
异步flask_flask asyncflask async 来自: Making ...
赞
踩
article
Win10
更改
用户账户、
appdata
和ProgramData的
默认
存储
路径
_怎么
更改
windows
...
参考:
Win10
怎么
更改
appdata
的
默认
存储
路径
-
Win10
更改
appdata
的
默认
存储
路径
方法-千篇网
Win10
...
赞
踩
article
DNS
和
HTTP
...
而且有一套自动的系统会将域名解析为对应的IP地址。搭建
DNS
服务器的人号召有能力的网络运营商来搭建相同功能的
DNS
镜像服...
赞
踩
article
AI
绘画
Stable
Diffusion
研究(十)
sd
图
生
图
功能详解-精美
二维码
的制作_
sd
图
生
...
反推提示词是
Stable
diffusion
图
生
图
中的功能,
图
生
图
的基础逻辑是通过上传的
图
片,可使用反推提示词或自主输入...
赞
踩
article
开源
模型
首胜
GPT
-
4
!
竞技场
最新战报引热议
,
Karpathy
:这是我唯二信任的榜单...
鱼羊 发自 凹非寺量子位 | 公众号 QbitAI能打得过
GPT
-
4
的
开源
模型
出现了!大
模型
竞技场
最新战报:10
4
0亿参...
赞
踩
article
深度
学习
基础之一:
机器
学习
...
*当真实值为10,预测值为5时,误差为5,预测值为8时,误差为2。
深度
学习
:
深度
学习
的概念源于人工神经网络的研究,是
机器
...
赞
踩
article
Git
的
使用
及技巧_
git
使用
...
Git
版本管理工具1、
Git
基础1.1、版本管理1.1.1、 什么是版本管理1.1.2、 人为维护文档版本
的
问题1.2、...
赞
踩
article
git
推送
了
版本
想
远程
仓库
回退
reset
到之前的
版本
_
git
reset
远程
仓库
...
3.当然终极办法也可以checkout到想退回的那个
版本
的commit,把代码拷贝出来再checkout回现分支(注意不...
赞
踩
article
超市
会员
管理
系统
java
代码_基于jsp的
超市
会员
管理
-JavaEE实现
超市
会员
管理
-
java
项...
基于jsp+servlet+pojo+mysql实现一个
java
ee/
java
web的
超市
会员
管理
, 该项目可用各类ja...
赞
踩
article
Git
技能
树
(5):
分支
管理
_
git
分支
树
...
几乎所有的版本控制系统都以某种形式支持
分支
。 使用
分支
意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。 在...
赞
踩
article
【
论文
笔记】
OpenAI
宫斗背后:发现了可能优于小鸡毛表现
的
机器人
,AGI
的
希望
Q
*
search
...
通过离散化每个动作维度并将每个动作维度
的
Q
值表示为单独
的
标记,我们可以应用有效
的
高容量序列建模技术进行
Q
学习。这里指
的
是...
赞
踩
article
狄兰·
托马斯
诗合集▷Do
not
go
gentle
into
that
good
night
_托马...
Do
not
go
gentle
into
that
good
night
,不要温顺地走进那个良宵,Old age sh...
赞
踩
article
【
Python
入门
学习
笔记】_鱼
c
工作室
python
最新版
...
本系列
学习
笔记主要知识来源:B站:<鱼C
工作室
:
Python
零基础入门
最新版
>,<
Python
全套教程,小白
学习
(从入门...
赞
踩
article
flink
-
sql
查询
配置
与
性能
优化
参数详解-1.14_
flink
streamtableenvir...
本博客为
flink
1.14 版本中
flink
sql
配置
和
性能
优化
的相关内容翻译整理。_
flink
stream...
赞
踩
article
小
甲鱼
python
课后
作业
十一
_
小
甲鱼
作业
...
自学笔记
_
小
甲鱼
作业
小
甲鱼
作业
谋定而后动,知止而有得(上) 1...
赞
踩
article
【
Linux
】详谈
进程
优先级
&&
进程
调度
与切换...
详谈
进程
优先级
&&
进程
调度
与切换【
Linux
】详谈
进程
优先级
&&
进程
调度
与切换 一、
进程
优先级
...
赞
踩
article
信号处理
--
matlab
绘制
包络
谱
图_
包络
谱
原理...
包络
谱
图是一种描述信号振动特征的频
谱
图,它可以显示出信号振动的主要频率成分和振幅变化情况。_
包络
谱
原理
包络
谱
原理 ...
赞
踩
article
EfficientNetV2
模型
结构
及
pytorch
代码实现
_
efficientnetv2
源码...
对
EfficientNetV2
的学习记录
_
efficientnetv2
源码
efficientnetv2
源码 ...
赞
踩
article
美国
实用
生活
指南—综合篇
_
新罕布什尔州
的
电压
...
一、
生活
信息气候:
美国
本土大部分地区位于暖温带和亚热带,气候适中,降水丰富,由于本土范围辽阔,地形多样,故气候变化复杂,...
赞
踩
相关标签
自动驾驶
flask
python
后端
windows
microsoft
appdata
更改
路径
服务器
网络
运维
网络协议
人工智能
stable diffusion
AI作画
ai绘画
深度学习
机器学习
git
前端
svn
超市会员管理系统java代码
github