【 开发知识点 一 】 随机数生成器 /dev/urandom 和 /dev/random
文章目录
- 一、随机数生成器 是什么 ?
- 二、为什么 需要 随机数生成器 ?
- 三、随机数生成器 基本原理
- 四、随机数生成器 三个输出接口
- 五、随机生成器 应用
- 1、简单应用
- 2、项目应用
一、随机数生成器 是什么 ?
/dev/random 和 /dev/urandom 是 Linux 上的字符设备文件,它们是随机数生成器,为系统提供随机数。
二、为什么 需要 随机数生成器 ?
随机数在计算中很重要。 TCP/IP 序列号、密码和 DNS 源端口号都依赖于随机数。
在密码学中,随机性无处不在,从密钥的生成到加密系统,甚至密码系统受到攻击的方式。没有随机性,所有加密操作都是可预测的,因此不安全。
三、随机数生成器 基本原理
为了尽可能的做到随机,随机数生成器会收集系统环境中各种数据,比如:鼠标的移动,键盘的输入, 终端的连接以及断开,音视频的播放,系统中断,内存 CPU 的使用等等。
生成器把收集到的各种环境数据放入一个池子 ( 熵池 ) 中,然后将这些数据进行去偏移等,主要目的也是使得数据更加无序,更加难以猜测或者预料得到
有了大量的环境数据之后,每次获取随机数时,从池子中读取指定的字节序列,这些字节序列就是生成器生成的随机数
- 收集器
收集器收集系统中的环境噪音,比如:鼠标、键盘、中断事件、内存、CPU等,收集之后进行批量偏移等操作,之后进入主熵池中
- 主熵池
主熵池接收收集器传递过来的环境数据,大小为 512字节( 4098二进制位) , 它为 次熵池(random 熵池) 和 urandom 熵池提供随机数
在 Linux上,可以通过下面的命令查看当前系统主熵池大小, 单位是 二进制位的数量
cat /proc/sys/kernel/random/poolsize
- 次熵池
/dev/random 设备关连的,大小为128字节,它是阻塞的
- urandom 熵池
和 /dev/urandom 设备关连的,大小为128字节,它是非阻塞的
- 计数器
主熵池 、次熵池 以及 urandom 熵池各自都有一个计数器,用一个整数值来记录,表示当前熵池中可用随机数的数量,这是一个预估的值,它是生成器根据熵池中的环境数据估算出来的
当熵池中有新的随机数加入时,对应熵池的计数器计数会增加,当熵池中随机数被取出时,熵池计数器计数减少
四
相关文章:
【 开发知识点 一 】 随机数生成器 /dev/urandom 和 /dev/random
文章目录 一、随机数生成器 是什么 ?二、为什么 需要 随机数生成器 ?三、随机数生成器 基本原理四、随机数生成器 三个输出接口五、随机生成器 应用1、简单应用2、项目应用一、随机数生成器 是什么 ? /dev/random 和 /dev/urandom 是 Linux 上的字符设备文件,它们是随机数…...
LabVIEW虚拟弗兰克赫兹实验仪
随着信息技术的飞速发展,虚拟仿真技术已经成为教学和研究中不可或缺的工具。开发了一种基于LabVIEW平台开发的虚拟弗兰克赫兹实验仪,该系统不仅能模拟实验操作,还能实时绘制数据图形,极大地丰富了物理实验的教学内容和方式。 …...
LLC谐振变换器恒压恒流双竞争闭环simulink仿真
1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系代为转换)针对全桥LLC拓扑,利用Matlab软件搭建模型,分别对轻载…...
TVbox蜂蜜影视:智能电视观影新选择,简洁界面与强大功能兼具
蜂蜜影视是一款基于猫影视开源项目 CatVodTVJarLoader 开发的智能电视软件,专为追求简洁与高效观影体验的用户设计。该软件从零开始编写,界面清爽,操作流畅,特别适合在智能电视上使用。其最大的亮点在于能够自动跳过失效的播放地址…...
Python 绘制迷宫游戏,自带最优解路线
1、需要安装pygame 2、上下左右移动,空格实现物体所在位置到终点的路线,会有虚线绘制。 import pygame import random import math# 迷宫单元格类 class Cell:def __init__(self, x, y):self.x xself.y yself.walls {top: True, right: True, botto…...
vue3学习-1(基础)
vue3学习-1(基础) 1. 开始API 风格选项式 API (Options API)组合式 API (Composition API) 快速创建个应用 2.基础1. 创建个应用2.模板语法3.响应式基础reactive() 的局限性[](https://cn.vuejs.org/guide/essentials/reactivity-fundamentals.html#limi…...
deepseek使用记录18——文化基因之文化融合
文明长河中的生命浪花 在洛阳白马寺的银杏树下,年轻母亲指着"农禅并重"碑刻给孩子讲述祖辈耕作的故事;在哔哩哔哩的直播间里,00后女孩穿着汉服跳起街舞,弹幕飘过"这才是文化缝合怪"。当文明交融的宏大叙事照…...
Hadoop简介
1. Hadoop简介 官网:http://hadoop.apache.org 1.1 Hadoop架构 Hadoop由三个模块组成:分布式存储HDFS、分布式计算MapReduce、资源调度引擎YARN 1.2 Hadoop历史 Hadoop作者Doug Cutting Apache Lucene是一个文本搜索系统库 Apache Nutch作为前者的一部…...
密码学(哈希函数)
4.1 Hash函数与数据完整性 数据完整性: 检测传输消息(加密或未加密)的修改。 密码学Hash函数: 构建某些数据的简短“指纹”;如果数据被篡改,则该指纹(以高概率)不再有效。Hash函数…...
谈谈单例模式中通过Htools包的SpringUtil.getBean获取Bean的好处
目录 优势 解决依赖注入失效问题: 典型应用场景: 好处 1. 实例化时序问题 2. 延迟获取解决空指针 3. 设计模式与 Spring 的权衡 代码对比:错误 vs 正确 错误示例(空指针): 正确实现(延…...
本地部署大语言模型-DeepSeek
DeepSeek 是国内顶尖 AI 团队「深度求索」开发的多模态大模型,具备数学推理、代码生成等深度能力,堪称"AI界的六边形战士"。 Hostease AMD 9950X/96G/3.84T NVMe/1G/5IP/RTX4090 GPU服务器提供多种计费模式。 DeepSeek-R1-32B配置 配置项 规…...
adb的安装
1、概念 (1)adb(android debug bridge)安卓调试桥,用于完成电脑和手机之间的通信控制。 (2)xcode来完成对于ios设备的操控,前提是有个mac电脑。 2、adb的安装 (1&…...
Python 如何实现 Markdown 记账记录转 Excel 存储
文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...
随机播放音乐 伪随机
import java.util.*;/*** https://cloud.tencent.com.cn/developer/news/1045747* 伪随机播放音乐*/ public class MusicPlayer {private List<String> allSongs; // 所有歌曲列表private List<String> playedSongs; // 已经播放过的歌曲列表private Map<String…...
latex 环境配置
编译器可选 miktex和 tex live ① miktex 下载地址 Portable 版本用的也是 Installer版的安装程序 basic-miktex-24.1-x64.exe,但是需要修改文件名为 miktex-portable.exe ├──texmfs │ ├─config │ ├─data │ └─install │ └─miktex/…...
fortify安全扫描Access Control: Database问题解决
概述 Access Control: Database说白了就是权限控制。在访问数据库(sql和nosql)需要加入当前用户的权限控制。不然会被fortify扫描出来,认为客户端可能不挟持和假冒,从而导致数据被泄露。 但是这个并不是任何时候都需要的,有的接口本来…...
Java 设计模式:软件开发的精髓与艺
目录 一、设计模式的起源二、设计模式的分类1. 创建型模式2. 结构型模式3. 行为型模式三、设计模式的实践1. 单例模式2. 工厂模式3. 策略模式四、设计模式的优势五、设计模式的局限性六、总结在软件开发的浩瀚星空中,设计模式犹如一颗颗璀璨的星辰,照亮了开发者前行的道路。它…...
初学者如何用 Python 写第一个爬虫?
?? 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长。 ?? …...
Cocos Creator3.8.6拖拽物体的几种方式
文章目录 前言一、第一种通过UILocation二、第二种通过UIDelta实现总结 前言 在游戏开发中,拖拽物体是一个非常常见的交互功能,无论是用于UI元素的拖动,还是场景中物体的移动,拖拽操作都能极大地提升用户体验。Cocos Creator 3.8…...
分布式Session
我用「餐厅点餐代码实战」帮你彻底搞懂分布式Session,看完不仅能应对面试,还能直接应用到实际开发。先记住这个核心矛盾:多服务员如何记住同一顾客的喜好? 一、从生活场景理解Session的本质 传统单机场景(小餐馆&…...
Gemma-3-12b-it Streamlit应用实战:顶部像素控制面板CSS3定制详解
Gemma-3-12b-it Streamlit应用实战:顶部像素控制面板CSS3定制详解 1. 引言:从传统侧边栏到像素控制面板 如果你用过Streamlit,肯定对那个默认的侧边栏不陌生。它很方便,但有时候也挺碍事——特别是当你想要一个全屏、沉浸式的对…...
五层电梯MCGS7.7嵌入版与三菱PLC的联动编程实践
5五层电梯MCGS7.7嵌入版和三菱PLC联机程序调试电梯控制程序最头疼的莫过于通讯不稳定。上个月刚搞完一个五层电梯项目,MCGS7.7触摸屏和三菱FX3U的联机调试过程简直像坐过山车——楼层显示乱跳、按钮状态丢失这些幺蛾子接踵而来。今天咱就唠唠这个项目的实战经验。硬…...
10分钟零成本搭建KIMI AI免费API:个人智能助手完整指南
10分钟零成本搭建KIMI AI免费API:个人智能助手完整指南 【免费下载链接】kimi-free-api 🚀 KIMI AI 长文本大模型逆向API【特长:长文本解读整理】,支持高速流式输出、智能体对话、联网搜索、探索版、K1思考模型、长文档解读、图像…...
MentorBit红外驱动库:裸机与RTOS下的精准时序控制
1. MentorBit-DetectorIR 库概述MentorBit-DetectorIR 是一款专为 MentorBit 红外发射/接收模块设计的嵌入式底层驱动库,其核心定位并非通用红外协议栈(如 NEC、RC5 解码),而是面向硬件验证、模块级功能测试与快速原型开发的轻量级…...
随着AI和电商重塑消费者购买行为,全球美妆市场增长10%
随着数字优先和AI影响下的全球电商加速发展,线上销售额增速达到线下门店的6倍 全球消费者情报领军企业NielsenIQ (NYSE:NIQ)今日发布《2026年美妆行业现状报告》。报告显示,全球美妆市场同比增长10%,电商销售额增速达到线下门店的6倍。该结果…...
如何在5分钟内快速上手Wade搜索库:终极快速入门指南
如何在5分钟内快速上手Wade搜索库:终极快速入门指南 【免费下载链接】wade :ocean: Blazing fast 1kb search library 项目地址: https://gitcode.com/gh_mirrors/wa/wade Wade是一个轻量级、高性能的JavaScript搜索库,仅1kb大小却提供了强大的全…...
PyFlow输入系统定制化:创建专属快捷键映射的完整指南
PyFlow输入系统定制化:创建专属快捷键映射的完整指南 【免费下载链接】PyFlow Visual scripting framework for python 项目地址: https://gitcode.com/gh_mirrors/py/PyFlow PyFlow作为一款强大的Python可视化脚本框架,允许用户通过直观的节点编…...
Alfred-Workflow 自动化更新:利用 GitHub Releases 实现工作流无缝升级
Alfred-Workflow 自动化更新:利用 GitHub Releases 实现工作流无缝升级 【免费下载链接】alfred-workflow Full-featured library for writing Alfred 3 & 4 workflows 项目地址: https://gitcode.com/gh_mirrors/al/alfred-workflow Alfred-Workflow 是…...
商城首页小程序源码 购物商场小程序系统 开源商城系统 基于H5小程序Uniapp开发
【核心功能】 – 前端小程序:uniapp 1、顶部自定义透明导航 2、搜索框 3、动态轮播图 4、动态分类导航 5、动态通知提醒 6、宫格商品列表 7、列表上滑预加载 8、底部导航 – 系统架构:uniapp,代码规范 – 适合懂uniapp的朋友使用 …...
2025届学术党必备的十大AI科研方案推荐榜单
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下的学术与内容创作范畴之内,对于AI生成文本的检测变得越发严格起来。降AI率…...
