Linux Shell里面生成随机数的一些思路分析
1.使用时间相关的随机数
利用data命令生成输出unixtimestamp(%s)和当前时间的纳秒数据(%N,精确到亿分之一秒。)
前者保证在不同秒数之内输出不重复 后者保证在同一秒内数字不重复 两者组合就可以了
date +%s%N
这个方法不依赖系统 只要时间不停止,就一直可以得到不重复的为随机数
2.系统shell内部变量 $RANDOM
这么没啥好说的 依赖shell
3.通过Linux的随机设备获取 然后算校验和
head -10 /dev/urandom | cksum
注意这里千万不要使用cat去获取 这个是一条没有尽头的路 获取1行和10行没有太大的区别 这个
4.通过Linux的内核的UUID获取
UUID的计算信息会加入硬件,时间,机器当前运行信息等,可以保证生成的都是全球唯一的 直接
cat /proc/sys/kernel/random/uuid
就可以 然后在算校验和转换为数字即可,但是依赖Linux内核。
如上4种思路 供自己参考
相关文章
网站加速VPS篇 memcache和memcached安装方法
Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。2010-12-12
详解Linux 服务管理两种方式service和systemctl
systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。这篇文章主要介绍了Linux 服务管理两种方式service和systemctl,需要的朋友可以参考下2019-09-09
win10+Ubuntu 20.04 LTS双系统安装(UEFI + GPT)(图文,多图预警)
这篇文章主要介绍了win10+Ubuntu 20.04 LTS双系统安装(UEFI + GPT)(图文,多图预警),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07
Linux曝出Sudo提权漏洞 任意用户亦可运行root命令
近期曝出的一个提权漏洞,却直指 sudo 的一个安全策略隐患 —— 即便配置中明确不允许 root 用户访问,该漏洞仍可允许恶意用户或程序,在目标 Linux 系统上以 root 用户身份执行任意命令2019-10-10


最新评论