*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 环境即可生成密码,减少密码在传输过程中暴露的风险。