openssl生成随机密码。


首先简单了解一下,OpenSSL 是一个开源项目,其组成主要包括一下三个组件:

             1、openssl:多用途的命令行工具
             2、libcrypto:加密算法库
             3、libssl:加密模块应用库,实现了ssl及tls

openssl可以实现:秘钥证书管理、对称加密和非对称加密,还有一个功能容易被忽略,那就是生成随机字符,而我们这要介绍的就是使用openssl命令行生成随机字符 。

然后需要了解的是Base64编码格式,它是一种在应用程序和不同系统中使用的编码格式,可以毫无问题地进行传输和使用。 Base64不提供控制字符。 我们可以使用openssl rand生成与Base64兼容的随机数。

             openssl rand 命令用于产生指定长度个bytes的随机字符。

那么,生成随机密码的命令为

             openssl   rand   -base64   x(字节数量)

             -base64是指定编码,不然会生成我们不需要的字符集

在这里插入图片描述

至于为什么最终生成的字符数展示不是指定的数,是因为指定生成了的x位的字节,然后编码成了base64。想要取随机数还需要用到cut命令。

比如我们需要在生成的随机字符中截取10位

openssl rand -base64 40 |sed ‘s#[^a-z]##g’ | cut -c 2-11

在这里插入图片描述

cut命令用于显示每行从开头算起 num1 到 num2 的文字。

-c :以字符为单位进行分割。

另外,这里的sed表示替换非小写字符,命令如下

openssl rand -base64 45 |sed ‘s#[^a-z]##g’

猜你喜欢

转载自blog.csdn.net/m0_61503020/article/details/127450019