首先简单了解一下,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’

openssl生成随机密码。相关推荐

  1. 生成随机密码的十种方法

    1. 这种方法使用SHA算法来加密日期,并输出结果的前32个字符: date +%s | sha256sum | base64 | head -c 32 ; echo 2.这种方法使用内嵌的/dev/ ...

  2. 用Linux命令行生成随机密码的十种方法

    Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 这些方法均收集于Command-Line ...

  3. linux生成随机密码的十种方法

    linux生成随机密码的十种方法 Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. ...

  4. 密码检查、生成随机密码

    一.密码检查 1.下载地址: 官网:http://www.openwall.com/john/ 连接:http://www.openwall.com/john/j/john-1.8.0.tar.gz ...

  5. linux用户随机密码,Linux 生成随机密码/修改密码

    Linux生成随机密码方式: strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo Linux修改密码 ...

  6. crt证书linux使用,linux下使用openssl生成https的crt和key证书

    x509证书一般会用到三类文,key,csr,crt Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时,必须使用自己的私钥来签署申,还 ...

  7. Openssl生成证书流程

    Openssl生成证书流程 偶然想到在内网配置https,就梳理了下利用openssl与ca生成证书的过程. 生成过程分为服务端跟客户端,这里我在一台上测试. 一.介绍 CA是Certificate ...

  8. openssl生成证书linux,linux中openssl生成证书和自签证书linux操作系统 -电脑资料

    下面来给大家介绍关于linux中openssl生成证书和自签证书的例子,整个过程都讲述的非常详细有兴趣的朋友可进入参考, 1.首先要生成服务器端的私钥(key文件):代码如下复制代码 openssl ...

  9. 揭开ASP.NET生成随机密码的面纱

    不知道从何时开始流行这种注册验证方式 .在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再 ...

最新文章

  1. java后期发展方向_2020年前3季度工程自卸车市场咋样?后期朝啥方向发展?
  2. php 解析xml 的四种方法(转)
  3. 顺网无盘服务器木马,无盘顺网虚拟服务器设置
  4. 由浅入深CAS,小白也能与BAT面试官对线
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上商城
  6. VS调试 启动vs报错--未启动IIS
  7. String、StringBuilder、StringBuffer
  8. 导入和导出requirement
  9. abortonerror_DCB结构
  10. html给页面整体添加左右边距_css控制边界与边框示例(内边距、外边距使用方法)...
  11. Protocol handler initialization failed
  12. 鸿蒙实力等级划分,圣墟:三部曲中的等级划分下,荒天帝是否是全文最强者?...
  13. 驰骋BPM系统-表单引擎-流程引擎 页面更换
  14. 基于SeedUbuntu16.04的缓冲区溢出实验
  15. Github 之删除文件或者文件夹(不影响本地文件,只删除远端的指定文件或者文件夹) 操作
  16. 关于mysql出现delete from student where `stu_id` = '1' Error Code: 1175. You are using safe update错误
  17. 奥巴马筹款网站的制作过程
  18. 打开图片链接直接打开QQ对话框
  19. CLAHE 算法学习 matlab
  20. OpenSees 源码编译过程

热门文章

  1. CPI成折叠式OLED面板保护层关键材料
  2. OS发展史中各操作系统的形成、发展和特点
  3. 计算机网络--万维网实验
  4. Codeforces div2 D. Madoka and The Corruption Scheme
  5. 浅浅瞅瞅RSA-PSS 算法
  6. 优雅的使用windows
  7. VoIP通话-基于SIP协议的Asterisk(一)-实现流程
  8. excel如何打开多个独立窗口
  9. for循环--下标越界导致死循环原因
  10. 基于主成分分析PCA的人脸识别