*Redis ACL GENPASS 命令

ACL GENPASS 生成一个加密安全的随机密码,可用于 ACL 用户配置。


*语法

ACL GENPASS [bits]

*参数说明

参数 类型 必填 说明
bits Integer 密码的熵位数(比特数),默认 256,范围 1~1024

*返回值

  • String:Base64 编码的随机密码

*时间复杂度

O(1)

*

*示例

*生成默认 256-bit 密码

> ACL GENPASS
"/cB#jBO.5lWnR2qLr0l2uJ0pZ3dK1tR4aH7eO8iN1mK3jF5gD2hB4fA6cE8dG0hI2kL"

*生成 128-bit 密码(较短)

> ACL GENPASS 128
"xK9mP2qR5vW8nB3cF6jH1lK4dG7hJ0mN"

*生成 512-bit 高强度密码

> ACL GENPASS 512
"aB1cD2eF3gH4iJ5kL6mN7oP8qR9sT0uV1wX2yZ3aB4cD5eF6gH7iJ8kL9mN0oP1qR2sT3uV4wX5yZ6aB7cD8eF9gH0iJ1kL2mN3oP4qR5sT6uV7wX8yZ9aB0cD1eF2gH3iJ4kL5mN6oP7qR8sT9uV0wX1yZ2aB3cD4eF5gH6iJ7kL8mN9oP0qR1sT2uV3wX4yZ5aB6cD7eF8gH9iJ0kL1mN2oP3qR4sT5uV6wX7yZ8"

*常见错误

错误 原因 解决
ERR GENPASS argument must be between 1 and 1024 bits 超出范围 传入 1~1024 的整数

*最佳实践

  • 强烈建议使用 ACL GENPASS 生成密码,避免人为设置弱密码
  • 生产环境建议至少 256-bit(默认值)
  • 配合 ACL SETUSER 使用:ACL SETUSER newuser > 后粘贴生成的密码
  • 密码生成后应立即配置,不要在终端历史记录中保留

*FAQ

Q1: GENPASS 生成的密码可以直接用吗? A: 可以。输出是 Base64 编码的随机字符串,可直接作为明文密码配置给用户。

Q2: GENPASS 的密码安全性如何? A: 使用 Redis 内部的加密安全随机数生成器,熵值由 bits 参数决定,256-bit 的暴力破解在计算上不可行。

Q3: 和外部密码生成工具有什么区别? A: 无需离开 Redis 环境即可生成密码,减少密码在传输过程中暴露的风险。