*Redis DIGEST 命令
DIGEST 用于计算给定字符串的 SHA-256 哈希摘要,通常用于调试或脚本内部使用。
*语法
DIGEST string
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | String | 是 | 要计算哈希的输入字符串 |
*返回值
- String:SHA-256 十六进制哈希值
*时间复杂度
O(N),N 为输入字符串长度
*示例
*基本用法
> DIGEST "hello"
"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
*空字符串
> DIGEST ""
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR wrong number of arguments | 未提供字符串 | 提供输入字符串 |
*最佳实践
- 主要用于调试和内部测试
- 生产环境不依赖此命令做业务逻辑
- 如需哈希功能,建议在客户端计算
*FAQ
Q1: 和 Lua 脚本的 sha 有什么关系? A: 无直接关系,EVALSHA 使用脚本内容的 SHA1 哈希。
Q2: 支持其他哈希算法吗? A: 仅支持 SHA-256。
Q3: 可以计算 key 的 value 吗? A: 不能直接计算,需先 GET 出 value 再作为参数传入。