unix下生成随机复杂密码的几种方法

最近有人问我怎么样在对unix系统中的密码做设置,当时就随口说直接在键盘上随便按一通就可以了,当然如果是业务需求不是非常严格的情况下当然这样也行,但是如果要求是需要一个非常长的、限定长度的随机数密码就有点不行了,那么我们就可以借助系统中常用的工具实现随机数密码的设置,当然实际生产的方法很多,在这里就简单的说一下常用的几种方法:

一、使用有输出指令通过计算 md5 值,然后截取其中的一部分当做随机密码,这种方法使用的指令可以使用date、uptime等等有数字英文输出指令,所以直接echo "passwd123456"单词也行,缺点就是生成密码全部是小写+数字的安全性一般,方法如下:

[[email protected] ~]# 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就可以安装了,方法如下:

[[email protected] ~]# openssl rand -base64 10
gIfIuLvIeZk+tw==
#生成10位的随机数密码

当然在实际生产环境中可以根据不同的情况做选择,当然如果需要强密码一般推荐使用第三种方法

时间: 2024-12-15 07:29:19

unix下生成随机复杂密码的几种方法的相关文章

linux下nginx实现虚拟主机(3种方法:基于域名、基于端口、基于ip地址)

在3.17日的时候已经写过一篇关于apahce的基于域名.端口.ip地址3种方式的虚拟主机实现.原理是一样的,现在记录nginx的虚拟主机这三种方式的实现. 系统版本为rhel5.6,nginx版本为1.1.6. 1.基于域名: 基于域名的方式,要先有dns服务器,这里为了方便,可以在/etc/hosts文件里面配置,把它当成dns就行了,可以参考3.17日那篇博客关于dns的配置或者其他博文也有.这里关于nginx的安装也略去. [[email protected] ~]# cat /etc/

MySQL单实例重置密码的两种方法

MySQL单实例重置密码的两种方法 在工作学习中,我们有时会忘记数据库的密码,下面是MySQL单实例密码重置的步骤. 说明: (1)[[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) (2)[[email protected] ~]# mysql --version mysql  Ver 14.14 Distrib 5.7.13, for Linux (i686) using  EditLine wr

HTTPS的证书未经权威机构认证的情况下,访问HTTPS站点的两种方法

注意一下文章中提到的jsse在jdk1.4以后已经集成了,不必纠结. 摘 要 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问.但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从而不能访问HTTPS站点.本文在简要介绍JSSE的基础上提出了两种解决该问题的方法. 引言 过去的十几年,网络上已经积累了大量的Web应用.如今,无论是整合原有的Web应用系统,还是进行新的Web开发,都要求通过编程来访问某些Web页面.传统的方法是使

有关WINDOWS XP登录密码的几种方法

网上关于破解WINDOWS XP登录密码的几种方法很多,但许多根本不行.我现在总结自己试过几种,这几种方法其实均比较菜的,但可行的.WINDOWS XP登录是由SAM 文件管理的,总体来说“山姆大叔”是比较难搞定的,所以网上许多方法不行的原因吧.上次在网上看到关于一篇关于SAM 文件的文章,写得不错,但没能收藏起来.反正有不少人在研究这个.我想就是有了破解的方法,高手们也不一定全公布吧,这是由于大家不难知道的原因——安全,他们不便公布!如果很轻易就破了的话,那微软一定要打这个补丁的,那他们的成果

在linux环境下编译运行OpenCV程序的两种方法

原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之后,我下面就介绍Command Line和CMake两种方式. 首先我先粘上我测试的代码吧,文件名为Test.c 1 #include <highgui.h> 2 3 int main(int argc,char ** argv) { 4 5 IplImage* img = cvLoadImage

linux系统下php安装mbstring扩展的二种方法

.执行 复制代码代码如下: yum install php-mbstring 2. 修改php.ini (这一步非常重要, 部分lxadmin版本无法自动修改) 复制代码代码如下: echo ‘extension=mbstring.so' >>/etc/php.ini #更具php安装目录而定 3. 重启web service 如果是apache: service httpd restart 方法二:php 5.36安装目录:/usr/local/php 复制代码代码如下: #cd /usr/

Linux下快速清空文件内容的三种方法

Linux下快速清空文件内容的三种方法在Linux环境中,我们如果想快速清空一个文件或者log的内容: 1.#echo "" > test.txt(文件大小被截为1字节) 2.# > test.txt(文件大小被截为0字节) 3.#cat /dev/null > /home/test.txt(文件大小被截为0字节)————————————————版权声明:本文为CSDN博主「贾维斯博客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声

python 在指定的文件夹下生成随机的测验试卷文件

#! python3 #在指定的路径中生成指定数目的测验试卷和参考答案文本,试卷内容是测验对我国28个省级行政区的省会城市的选择, #要求每份试题的试题顺序不同,不同试卷中相同试题的选项随机抽取. import random import os # 各省及其省会的字典数据 capitals = {'新疆': '乌鲁木齐', '甘肃': '兰州', '宁夏': '银川', '陕西': '西安', '青海': '西宁', '西藏': '拉萨', '贵州': '贵阳', '内蒙古': '呼和浩特',

js生成随机固定长度字符串的简便方法

概述 碰到一个需求:用js生成固定长度的字符串.在网上查了很多资料,网上的方法都比较麻烦.我自己灵光一现,实现了一个比较简单的方法.记录下来,供以后开发时参考,相信对其他人也有用. js生成随机字符串 js生成随机字符串有一个奇妙的写法: //输出随机字符串 const randStr = () => Math.random().toString(36).substr(2); 浏览器开发者工具输入5次,输出如下: "4cc9gd4sbwd" "ox9r8g6g7h&qu