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

  我们可以用mkpasswd命令:这个命令就是用来生成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插件也可以实现相同的目的。

  欢迎补充其他的方式!

(0)

相关推荐

  • 用金山wps表格快速生成用户名与密码的方法

    很多公司都为每一个员工提供了独立的OA系统帐号,为了方便管理,很多行政都会提前为员工设置不一样的登录用户名与密码,不过,如果员工数量大的话,要设置用户名与密码,工作量也是挺大的.今天,小编就以下面的设 ...

  • Linux下读取默认MAC地址的方法

    Linux下读取默认MAC地址的方法 MAC(Media Access Control,介质访问控制)计算机通过它来定义并识别网络设备的位置.在嵌入式linux学习中不可避免也会遇到MAC,本文主要描 ...

  • Linux下Patch的应用和制作方法介绍

    Linux下Patch的应用和制作方法介绍 因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了.制作补丁可以解决这个问题. 学习资料的收集比较简单,方法一类似于这种初级 ...

  • linux下设置ssh免密码登陆的配置步骤分享

    我有两台笔记本电脑上分别装有两个centos的虚拟机,一个IP为172.16.1.10(slave),一个IP为172.16.1.9(master)。 在slave上用root用户 vi /etc/h ...

  • Linux下MySQL忘记root密码怎么办

    Linux下如果忘记MySQL的root密码,可以通过修改配置的方法,重置root密码 操作方法 01 修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip- ...

  • Linux下Nagios的安装与配置方法

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  • linux下安装编译网卡驱动的方法

    安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...

  • 如何在Linux下安装Sendmail服务器软件的方法

    如何在Linux下安装Sendmail服务器软件的方法

  • Linux下安装DNS+Sendmail服务的方法

    配置DNS详细过程 1.先设置好主机名 vi /etc/sysconfig/network 2.配置DNS主配置文件 vi /var/named/chroot/etc/named.conf 将16 1 ...