2016-09-21 30 views
1

React Nativeを使用して、AndroidとiOSの多くのファイルのSHA256ハッシュ値を計算する必要があります。ファイルがユーザーによって選択されると、私のアプリは各ファイルのSHA256の計算を開始します。SHA256 in React Native

ウェブページでは、私はcrypto-jsを使用しています。しかし、AndoidやiOSアプリケーションでは、ファイル(例:ビデオファイル)が> 400 MB以上であるため、暗号jのパフォーマンスが十分に速くないことが懸念されます。

パフォーマンス上の理由からcrypto-jsを使用する代わりに、Android/iOSネイティブAPIをSHA256を計算するために呼び出す方法はありますか?

+0

ちょうど知りたいことがあります。サイズが400MBを超えるファイルのSHA256を計算する必要があるのはなぜですか? – Jickson

+1

これは、iPhoneで作成したビデオファイルが400MB以上になりやすいからです。 – user3390906

+1

ネイティブモジュール、つまり[Android上でJavaで書かれたもの](https://facebook.github.io/react-native/docs/native-modules-android.html)、それに応じてiOS上でいつでも作成できます。 [ここにAndroid用のコードがあります](http://stackoverflow.com/questions/10129311/does-every-android-phone-support-sha-256)、完全な機能については下の回答をご覧ください。 –

答えて

0

ネイティブにsha-256を計算するために反応ネイティブ自体に組み込まれているものはありませんが、いくつかのオプションがあります。

@Morreが指摘したように、react-native-sha256は、ネイティブコンポーネントを使用して文字列のsha-256の計算をサポートするオープンソースプロジェクトです。

別のオープンソースの反応ネイティブプロジェクト - react-native-fs - ネイティブコンポーネント、具体的にはhash機能を使用してファイルのsha-256を計算する機能をサポートしています。

@Morreが指摘しているように、独自のネイティブコードを書いて、そのオプションを好む場合は同じ機能を提供することができます。私がここで言及したライブラリはどちらもオープンソースなので、ソースコードは、特定のAndroid/iOSコードを記述する必要がある場合の参考になります。 StackOverflowには、javaswiftのコード例もあります。リアクションネイティブのnative module documentation (Android)iOSは広範囲です。