首页 > 代码库 > unix下生成随机复杂密码的几种方法
unix下生成随机复杂密码的几种方法
最近有人问我怎么样在对unix系统中的密码做设置,当时就随口说直接在键盘上随便按一通就可以了,当然如果是业务需求不是非常严格的情况下当然这样也行,但是如果要求是需要一个非常长的、限定长度的随机数密码就有点不行了,那么我们就可以借助系统中常用的工具实现随机数密码的设置,当然实际生产的方法很多,在这里就简单的说一下常用的几种方法:
一、使用有输出指令通过计算 md5 值,然后截取其中的一部分当做随机密码,这种方法使用的指令可以使用date、uptime等等有数字英文输出指令,所以直接echo "passwd123456"单词也行,缺点就是生成密码全部是小写+数字的安全性一般,方法如下:
[root@jim ~]# date | md5sum | cut -b 1-10 ac404a8128 #这里以date指令为例,截取1~10位生成的10位随机数密码
二、使用mysql生成41位的十六进制密码,这个是通过mysql的哈希算法算出来,这个一般用于mysql的用户密码设置时使用,缺点是这种方法要依赖于mysql数据库,方法如下:
mysql> select password(‘password‘); +-------------------------------------------+ | password(‘password‘) | +-------------------------------------------+ | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | +-------------------------------------------+ 1 row in set (0.00 sec)
三、使用oenssl生成的随机数再用base64编码加密,这种方法比较常用,因为一般生成的密码有大小写英文、数字、特殊符号,这个方法需要系统中有安装openssl,一般使用yum就可以安装了,方法如下:
[root@jim ~]# openssl rand -base64 10 gIfIuLvIeZk+tw== #生成10位的随机数密码
当然在实际生产环境中可以根据不同的情况做选择,当然如果需要强密码一般推荐使用第三种方法
本文出自 “技术随笔” 博客,谢绝转载!
unix下生成随机复杂密码的几种方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。