Total Pageviews

Tuesday 1 September 2020

使用命令行生成高强度密码

 设置一个高强度的密码是非常重要的,这样才能够很好的保护自己的账号或者服务器以及确保自己的数据的安全。通常来说,一个高强度密码至少有 14 个字符,包括大小写字母、数字和特殊字符,并且要牢记永远不用那些字典中的单词。使用长密码比短密码要来的安全,因为密码越长越难猜测。在本文中,我将给你介绍几个不同方法,让你可以在 Linux 命令行下生成一个高强度密码。

使用 openssl 生成高强度密码

这里使用 openssl 的 rand 方法,它会生成一个 14 位字符的随机字符:

openssl rand -base64 14

使用 urandom 生成高强度密码

这里我们将使用 tr 条件来过滤 /dev/urandom 的输出,从而删掉那些不想要的字符,并打印出第一个出现的 14 位字符。

< /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo 使用 pwgen 生成高强度密码 pwgen 是一个生成随机、无特殊含义但可以正常拼读的密码。 安装 pwgen,运行: sudo apt-get install pwgen 安装好之后,使用以下命令来生成一个 14 位随机字符: pwgen 14 1 你也可以使用以下标记: -c 或 --capitalize 生成的密码中至少包含一个大写字母 -A 或 --no-capitalize 生成的密码中不含大写字母 -n 或 --numerals 生成的密码中至少包含一个数字 -0 或 --no-numerals 生成的密码中不含数字 -y 或 --symbols 生成的密码中至少包含一个特殊字符 -s 或 --secure 生成一个完全随机的密码 -B 或 --ambiguous 生成的密码中不含易混淆字符 -h 或 --help 输出帮助信息 -H 或 --sha1=path/to/file[#seed] 使用指定文件的 sha1 哈希值作为随机生成器 -C 按列输出生成的密码 -1 不按列输出生成的密码 -v 或 --no-vowels 不使用任何元音,以免意外生成让人讨厌的单词 使用 gpg 生成高强度密码 我们也可以使用 gpg 工具来生成一个 14 位字符的密码: gpg --gen-random --armor 1 14 其它方法 当然,可能还有很多方法可以生成一个高强度密码。比方说,你可以添加以下 bash shell 方法到 ~/.bashrc 文件: genpasswd() { strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 14 | tr -d '\n'; echo } 当你想要生成一个高强度的随机密码时,运行 genpasswd 就好了。

 via: https://www.rosehosting.com/blog/generate-password-linux-command-line/ 

-----

1.使用openssl生成复杂密码。

1
openssl rand -base64 32 #密码长度32位。

2.使用md5随机生成

1
date | md5sum

3.使用urandom生成复杂密码,包含各种字符。

1
2
3
4
5
6
7
8
9
#/bin/bash
#generate safe password
#执行sh safe-pass.sh 密码位数
case $1 in
*)
</dev/urandom tr -dc '1-9!@#$%^&*()a-z-A-Z' | head -c$*; echo " "
;;
esac


--------------------------------------------------------

Linux 系统下实现快速加密文件

windows下加密文件要下载工具操作,当加密大文件时效果不甚理想。

而一般现在的Linux桌面系统都自带有openSSL 这个强大的命令行工具,加密大文件时,速度比较理想,花的只是重新复制文件的时间。

用法(加密):

原文件 file

openssl             enc            -aes-192-cbc      -in  file        -out    file.jiami         -pass pass:123456

openssl主程序/ 启用加密功能/加密所用的算法/ 输入文件名路径/输出文件名路径 /指定密码 ,

格式是 -pass 参数 ,空格 ,  pass:密码

用法(解密):

openssl    enc     -d     -aes-192-cbc      -in file.jiami      -out  file          -pass pass:123456

openssl主程序/ 启用功能/ -d 解密参数/加密所用的算法(要对应)/ 输入文件(已加密的文件)名路径/输出文件(解密文件)名路径 /指定密码(要正确)

为了实现高强度加密,可以一个文件多加密几次 并使用不同的算法,不同的密码.

No comments:

Post a Comment