验证密码复杂性的可靠任务



我正在尝试从Ansible Tower Survey中获取一个保存为密码的变量,然后验证其复杂性。

密码至少需要17个字符,并且包含大写、小写、数字和特殊字符。

有人知道怎么做吗?

由于我有相同的用例,为了过滤数据,我首先从assert模块开始,Jinja2过滤length

---
- hosts: localhost
become: false
gather_facts: false
vars:
NEW_PASSWORD: "12345678901234567"
tasks:
- name : Check if password is long enough
assert:
that:
- NEW_PASSWORD | length > 16
success_msg: "Passed."
fail_msg: "New password is too short!"
quiet: true

也可以使用带有断言运算符的regex,该运算符可以在注释中提到的regex中填充,以验证密码强度。

进一步的问答;A

  • 如果变量与正则表达式不匹配,则失败
  • regex_search筛选器比较及如何调试when子句
  • Ansible:如何生成带有种子的随机字符串

最新更新