怎么写出一个固定的的bcryptjs的salt序列
时间: 2024-02-18 18:00:57 浏览: 18
在bcryptjs中,可以使用`genSaltSync`方法来生成一个固定的salt序列。以下是一个示例代码:
```javascript
const bcrypt = require('bcryptjs');
const salt = bcrypt.genSaltSync(10);
console.log(salt); // 打印生成的salt序列
```
在上述代码中,`genSaltSync`方法的参数10表示生成salt时的计算强度,越高表示计算时间越长,但也越安全。生成的salt序列可以被保存在代码中,以便在后续的加密过程中使用。
相关问题
给出一个相对安全的bcryptjs的salt序列
bcryptjs 的 salt 序列是随机生成的,因此没有一个固定的安全的 salt 序列。一般建议使用 bcryptjs 提供的生成 salt 的函数来生成随机的 salt。如果你想要自己指定 salt,可以使用 bcryptjs 提供的 `bcryptjs.genSaltSync(rounds)` 方法,其中 `rounds` 参数表示计算强度,越高则计算时间越长,安全性也越高。一般建议设置为 10 到 12 之间,例如:
```javascript
const bcrypt = require('bcryptjs');
const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync('myPassword', salt);
```
这样生成的 salt 序列是相对安全的,但是不如使用 bcryptjs 自带的随机生成函数安全。
同一个密码bcryptjs加密的结果不同
这种情况可能是由于生成 salt 的方式不同导致的。bcryptjs 生成 salt 时,可以选择使用 bcryptjs 自带的随机生成函数或者自定义的函数。如果不同的生成方式生成了不同的 salt,那么同一个密码就会产生不同的加密结果。解决方法是在加密时指定相同的 salt。如果使用 bcryptjs 自带的随机生成函数,在每次加密时都会生成一个新的 salt,所以需要在比较密码时,先将原始密码进行加密,然后再和存储的加密后的密码进行比较。