React Native 中的 SHA256

SHA256 in React Native

我需要使用 React Native 计算 Android 和 iOS 中许多文件的 SHA256 哈希值。当用户选择文件时,我的应用程序将开始为每个文件计算 SHA256。

对于网页,我一直在使用crypto-js。但是对于 Andoid 和 iOS 应用程序,我担心 crypto-js 的性能可能不够快,因为文件(例如视频文件)可能 >400 MB。

有什么方法可以调用 Android/iOS 原生 api 来计算 SHA256,而不是为了性能而使用 crypto-js?

react-native 本身并没有内置任何东西来本地计算 sha-256,但是有几个选项。

正如@Morre 指出的那样,react-native-sha256 是一个开源项目,支持使用本机组件计算字符串的 sha-256。

又一个开源的react-native项目-react-native-fs - has support for calculating the sha-256 of a file using native components, specifically the hash函数。

正如@Morre 所指出的,如果您愿意,可以编写自己的本机代码来提供相同的功能。我在这里提到的两个库都是开源的,因此那里的源代码可以很好地参考具体 Android/iOS 代码需要编写的内容。 Whosebug 上也有代码示例 java and . React-Native's native module documentation (Android) and iOS 很广泛。