在Linux下生成crypt加密密码的方法

这个命令就是用来生成crypt格式的密码的:

mkpasswd

  输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串。

  如果用Apache Web服务器,那么也可以用htpasswd:

htpasswd -nd user

  用户名(user)叫什么都无所谓,我们关注的是密码。这个命令会输出一个user:password格式的字符串,直接把password字段复制下来就ok了。

  有OpenSSL的话,可以使用openssl命令:

openssl passwd -crypt myPassword

  把上面命令中的myPassword用你想用的密码字符串代替。

  其他还有一些需要把命令在命令行中直接输入的方式,不过这种做法有个问题,就是在ps命令中可以看到密码,同时密码也会被记录入shell历史。

  不过这个问题是有解决办法的:用脚本,或者语言解释器。

  比如使用Perl:

  perl -e "print crypt(‘password‘,‘sa‘);"

  Perl需要一个加密盐,如这里使用了sa(salt指加密中用到的随机字符串,用不同的salt可以生成不同的加密结果)。

  Ruby也一样需要加密盐:

  ruby -e ‘print "password".crypt("JU"); print("\n");‘

  PHP也可以:

  php -r "print(crypt(‘password‘,‘JU‘) . \"\n\");"

  需要注意的是,如果不使用加密盐(如上面命令中的JU),那么输出的字符串将不是crypt加密格式,而是MD5加密格式的。所以,加密盐其实是必须的参数。

  Python需要导入crypt库并使用加密盐:

  python -c ‘import crypt; print crypt.crypt("password","Fx")‘

  这里的加密盐是Fx。

  数据库也可以生成crypt密码。比如用MySQL:

  echo "select encrypt(‘password‘);" | mysql

  另外,Tcl,Ubuntu下的trf,还有Lua的lua-crypt插件也可以实现相同的目的。

时间: 2024-10-19 07:47:09

在Linux下生成crypt加密密码的方法的相关文章

Linux下mysql的root密码修改方法(ERROR 1054)

以安全模式启动mysql,可以直接以root身份登录,然后重设密码.下面是具体步骤 1.停掉在运行的MySQL服务: service mysqld stop 2.安全模式启动mysql: sudo mysqld_safe --skip-grant-tables --skip-networking & 3.直接用root登录,无需密码: mysql -uroot -p 4.重设密码: update usersetauthentication_string=password('password')

linux下mysql忘记root密码解决方法

如果使用 MySQL 数据库忘记了root账号密码,可以通过调节配置文件,跳过密码的方式登数据库, 在数据库里面修改账号密码,一般默认的账号是 root 1.编辑 MySQL 配置文件 my.cnf 注意: 以实际 my.cnf 配置文件路径为准 vim /etc/my.cnf [mysqld] spik-grant-tables  #增加 2.重启 MySQL 服务 注意:以实际 MySQL 启动脚本路径为准 /etc/init.d/mysqld restart 若报错,注意观察my.cnf配

Linux下生成openssl证书

SSL 安全证书可以自己生成,也可以通过第三方的 CA ( Certification Authority )认证中心付费申请颁发. SSL 安全证书包括: 1.CA 证书,也叫根证书或中间级证书.单向认证的 https , CA 证书是可选的.主要目的是使证书构成一个证书链,以达到浏览器信任证书的目的.如果使用了 CA 证书,服务器证书和客户证书都使用 CA 证书来签名.如果不安装 CA 证书,浏览器默认认为是不安全的. 2.服务器证书.必选.通过服务器私钥,生成证书请求文件 CSR ,再通过

【Hadoop系列】linux下 root用户免密码登录远程主机 ssh

操作环境: CentOS 6.5 操作对象: 用户A主机和远程主机B 正文部分:斜体加粗代表linux指令. linux下 非root用户免密码登录远程主机 ssh请转至此链接:XXXXXXXXXXXXXXXX(暂未写好) 一.远程主机B和用户A都安装openssh 首先我们检查远程主机是否安装openshh和rsync rpm -qa|grep opensshrpm -qa|grep rsync 如果没有返回相关信息代表并未安装,我们用yum指令安装. yum install openssh

linux下mysql忘记root密码怎么办

Linux下MySQL忘记root密码怎么办? Linux下MySQL忘记root密码怎么办? 1. 修改MySQL配置文件 默认MySQL的配置文件为/etc/my.cnf,在[mysqld]下面添加一行 1.skip-grant-tables 2. 保存配置文件,重启MySQL服务 1.service mysqld restart 3. 再次进入MySQL 1.[[email protected] mysql]$ mysql -u root -p2.Enter password: #此处直接

Linux下忘记用户名和密码的解决方法

今天用vmware workstation安装了ubuntu,不记得用户名和密码是什么了,郁闷,还好ubuntu修改密码很简单,方法如下: 进入shell(Drop to root shell prompt) 1.      在ubuntu启动界面长按shift键进入GRUB界面,选择第二项,进入recovery mode 2.      在recovery mode中,选择root 找到用户名 在shell中输入cat /etc/shadow列出所有用户名 可以看到忘记的用户名就在倒数第三行

解决Windows&Linux下Mysql忘记ROOT密码

MySQL忘记root密码怎么办?一般情况下会有两种思路:找回密码和重置密码.在实际的工作中,MySQL数据库忘记root密码一般采用重置密码的办法去解决.下面就看看在Linux下和在Windows下重置root密码的步骤. Windows下MySQL忘记root密码怎么办? 1.以系统管理员身份登陆系统,启动mysql跳过权限检查. d:\mysql\bin\mysqld-nt –skip-grant-tables 2.进到d:\mysql\bin下,使用mysqladmin命令设置密码 d:

Linux中生成密钥的两种方法

Linux中生成密钥的两种方法 SSH服务支持一种安全认证机制,即密钥认证.所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密:另一个称为密钥(privatekey),只有拥有者才能看到,用于解密.通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难. ssh的密钥认证就是使用了这一特性.服务器和客户端都各自拥有自己的公钥和密钥.如何使用密钥认证登录linux服务器呢? 在使用密钥认证远程登入linux之前,我们

Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI分为服务端和客户端,服务端需要安装scsi target用来共享存储设备,客户端需要安装iscsi initiato