我需要探测给定的字符串是否与 scrypt 密钥匹配。
一些需要匹配的例子:
$s0$e0801$epIxT/h6HbbwHaehFnh/bw==$7H0vsXlY8UxxyW/BWx/9GuY7jEvGjT71GFd6O4SZND0=
$s0$100808$6McCjsQBpcCShLWq4nl3gg==$gs+Tz5DLGCDtYHGpIkP4i3EDpufBzsEGvoXzegkO5cU=
我使用 JavaString.matches
函数。
Keys 的描述如下: 基本形式: $s0$params$salt$key
值代表:
- s0 - 具有 128 位盐和 256 位派生密钥的格式版本 0
- params - 32 位十六进制整数,包含 log2(N)(16 位)、r(8 位)和 p(8 位)
- salt - base64 编码的盐
- key - base64 编码的派生密钥