react-native-bcrypt:安全PRNG

时间:2017-06-23 07:53:28

标签: react-native bcrypt

react-native-bcryptlink)会发出以下警告。

Using Math.random is not cryptographically secure! Use bcrypt.setRandomFallback to set a PRNG.

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

1 个答案:

答案 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(...)

...