随机密码生成器开发

ShellIntermediate
立即练习

介绍

在这个挑战中,我们将实现一个名为 genpass.sh 的 bash 脚本,用于生成随机密码。生成的密码应为 12 个字符长,并满足特定要求:必须包含至少一个数字、一个大写字母、一个小写字母和一个特殊字符。目标是创建一个满足这些条件的密码生成器,并在每次执行时返回不同的密码。我们将探讨诸如 Linux 随机数生成器和 bash 脚本编程基础等主题。

密码生成器

在 LabEx 环境中,每个用户的用户名是 labex,但密码是随机的。

请实现一个随机密码生成器,满足以下要求:

  • 生成的密码应为 12 个字符长。
  • 密码必须包含至少一个数字、一个大写字母、一个小写字母和一个特殊字符。
  • 仅允许使用以下特殊字符:><+-{}:.&;

目标

  • 将所需的 zsh 脚本写入 /home/labex/project 目录下已创建的 genpass.sh 文件中。
  • genpass.sh 脚本需要满足介绍中描述的三个条件,并且每次执行都应生成一个不同的密码。
  • 不要使用现成的密码生成工具,例如 Linux 上的 mkpasswd。
  • 密码生成脚本应每次执行时返回一个符合要求的密码。

输出

$ cd /home/labex/project
$ sh genpass.sh
2Dsxw9+xS:27

总结

恭喜!你已经完成了密码生成器挑战。你可以在 LabEx 中练习更多实验来提升你的技能。

✨ 查看解决方案并练习