react-native-bcrypt:安全 PRNG

Ans*_*oka 5 bcrypt react-native

react-native-bcrypt(链接) 引发以下警告。

Using Math.random is not cryptographically secure! Use bcrypt.setRandomFallback to set a PRNG.
Run Code Online (Sandbox Code Playgroud)

使用react-native-crypto链接nodify)是一种潜在的解决方案,但感觉过于复杂,因为项目必须如此。有没有更简单的 PRNG 可以在 bcrypt 上设置?

kba*_*sis 7

你是对的...... 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(...)

...
Run Code Online (Sandbox Code Playgroud)