我需要使用 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 - 支持使用 native 组件计算文件的 sha-256,特别是 hash功能。
正如@Morre 指出的那样,如果您愿意,可以编写自己的 native 代码来提供相同的功能。我在这里提到的两个库都是开源的,所以那里的源代码可以很好地引用具体的 Android/iOS 代码需要编写什么。 StackOverflow 上也有关于 java 的代码示例和 swift . React-Native 的 native module documentation (Android)和 iOS范围广泛。
关于react-native - React Native 中的 SHA256,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39607485/