react-native-bcrypt
(link)会发出以下警告。
Using Math.random is not cryptographically secure! Use bcrypt.setRandomFallback to set a PRNG.
使用react-native-crypto
(link)是一种潜在的解决方案,但感觉过于复杂,因为必须nodify
项目。是否可以在bcrypt上设置更简单的PRNG?
答案 0 :(得分:2)
你是对的...... react-native-bcrypt是当前文库中较小的邪恶。
要修复警告,您只需提供备用随机生成器库。在下面的示例中,我使用了isaac.js。
import bcrypt from "react-native-bcrypt";
import isaac from "isaac";
bcrypt.setRandomFallback((len) => {
const buf = new Uint8Array(len);
return buf.map(() => Math.floor(isaac.random() * 256));
});
const hash = bcrypt.hashSync(...)
...