获取随机字符串常用三种方法:

方法一:

echo $RANDOM |md5sum |cut -c 1-8

说明:

(1)RANDOM会产生随机数,经过md5sum,再通过cut截取第一位到第八位的字符串

(2)md5sum命令用于生成和校验文件的md5值,md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。md5校验,有很小的概率不同的文件生成的md5可能相同。比md5更安全的校验算法还有SHA*系列的。

(3)UNIX下校验文件一致性的方法很多,比如sum、cksum、md5sum、sha1sum等。sum和cksum适用于简单校验的场合,生成的校验码容易重复。md5sum有安全漏洞,当前比较推荐的是sha1sum。不过sha1sum在不同的平台用法有些不同。考虑到跨平台性,建议用openssl。

cut命令有两项功能:
    1)用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;
    2)连接两个或多个文件,如cut fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中

参数:-c:仅显示行中指定范围的字符;

方法二:

openssl rand -base64 4

说明:

(1)OpenSSl命令总览

语法格式:openssl command [ command_opts ] [ command_args ]
常用command:
version    用于查看版本信息
enc        用于加解密
ciphers    列出加密套件
genrsa    用于生成私钥
rsa        RSA密钥管理(例如:从私钥中提取公钥)
req        生成证书签名请求(CSR)
crl        证书吊销列表(CRL)管理
ca         CA管理(例如对证书进行签名)
dgst      生成信息摘要
rsautl    用于完成RSA签名、验证、加密和解密功能
passwd    生成散列密码
rand      生成伪随机数
speed      用于测试加解密速度                    
s_client  通用的SSL/TLS客户端测试工具
X509       X.509证书管理
verify      X.509证书验证
pkcs7       PKCS#7协议数据管理

(2)-base64:对产生的东西进行base64编码,后面可以指明产生多少字节随机数。不指定-base64或-hex时生成的随机数是乱码随机数(其实是2进制),且没有\n符号。

 方法三:

cat /proc/sys/kernel/random/uuid |cut -c 1-8

说明:

(1)UUID 是通用唯一识别码,UUID 的目的是让分布式系统中的所有元素都能有唯一的识别信息。为了保证UUID的唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。UUID的复杂特性在保证了其唯一性的同时,意味着只能由计算机生成。
(2)每次cat /proc/sys/kernel/random/uuid都会生成不同的随机码

shell实例第2讲:获取随机字符串相关推荐

  1. shell 生成指定范围随机数与随机字符串 .

    shell 生成指定范围随机数与随机字符串         分类:             shell              2014-04-22 22:17     20902人阅读     评 ...

  2. php获取随机字符串的几种方法

    方法一:shuffle函数(打乱数组)和mt_rand函数(生成随机数,比rand速度快四倍) 1 /** 2 * 获得随机字符串 3 * @param $len 需要的长度 4 * @param $ ...

  3. random and password 在Linux下生成crypt加密密码的方法,shell 生成指定范围随机数与随机字符串...

    openssl rand -hex n (n is number of characters) LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head ...

  4. go golang 判断base64数据 获取随机字符串 截取字符串

    go golang 判断base64数据 获取随机字符串 截取字符串 先少写点,占个坑,以后接着加. 1,获取指定长度随机字符串 func RandomDigits(length int) strin ...

  5. shell 生成指定范围随机数与随机字符串

    shell 生成指定范围随机数与随机字符串 1.使用系统的 $RANDOM 变量 fdipzone@ubuntu:~$ echo $RANDOM 17617 $RANDOM 的范围是 [0, 3276 ...

  6. php 获取一串随机字符串,php获取随机字符串的几种方法

    方法一:shuffle函数(打乱数组)和mt_rand函数(生成随机数,比rand速度快四倍) /** * 获得随机字符串 * @param $len 需要的长度 * @param $special ...

  7. Hutool获取随机字符串

    概述 使用Hutool获取随机字符串

  8. shell实例第3讲:获取随机8位数字

    获取随机8位数字常用三种方法: 方法一: echo $RANDOM |cksum |cut -c 1-8 说明: (1)shell cksum 命令用于检查文件的CRC是否正确. 确保文件从一个系统传 ...

  9. PHP获取随机字符串的两种方法

    1 <?php 2 /** 3 * 随机返回字符串 4 * @param number 返回字符串长度 5 * @param string 从哪些字符串中随机返回,已设置默认字符串,可空 6 * ...

最新文章

  1. Virtex-6中的GTX模块、GTH模块
  2. 2020年学什么计算机软件,2020年大学计算机软件专业排行榜
  3. 移动端也能兼容的web页面制作1:MDBootstrap演示Demo运行演示
  4. 深入浅出BI——搭建环境
  5. 计算机单片机英语书籍推荐,英语翻译近十几年来,单片机作为微计算机一个很重要的分支,应用广泛,发展迅速,已经对人类社会产生了深远的影响.本文介绍了基...
  6. JavaScript调用WebServices
  7. 二级MS Office公共基础知识错题本(1)
  8. 给自己看的squid服务器配置笔记
  9. v8的垃圾回收机制(一)
  10. 手把手教你搭建LyncServer2013之发布Office Web App服务器(十二)
  11. java cookie保存登录信息吗_使用COOKIE对像实现保存用户基本信息(结合Session),ASP.Net实现用户登录全过程...
  12. paip.mysql fulltext 全文搜索.最佳实践.
  13. 【GIS】GIS矢量空间分析(上)
  14. [es7]es查询实践示例
  15. emmagee 性能工具梳理
  16. GAMES101-现代计算机图形学入门-闫令琪 - lecture6 光栅化2(抗锯齿) - 课后笔记
  17. css 层叠样式表详解
  18. 49天精通Java,第32天,Java泛型方法的定义和使用
  19. pygame一步步玩转圆、矩形、图像、旋转、透明度alpha、colorkey操作(有完整案例)
  20. unity 调用Anidroid 相册 选取图片裁剪

热门文章

  1. PYTHON 数据分析常用类库
  2. 利用apache自带的工具 分割访问日志
  3. 闯荡北京卖枣的临县人:同有一个“红枣美梦”(2张)
  4. 读书笔记----javascript函数编程
  5. python多线程加锁异步处理装饰器
  6. 360极速浏览器安装.crx扩展(postman)
  7. aaaaaaa……aaa(n个)%p的值 (矩阵快速幂)
  8. es6 初步深入学习
  9. (三)构建模块——Web页面建设
  10. onSaveInstanceState和onRestoreInstanceState触发的时机