ReactNative (expo)でSHA256とかを使ってみる


どうやらexpo-cryptoってのを使えばできるみたい。
試しに出力してみる。

App.js
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';

import * as Crypto from 'expo-crypto';

export default class App extends React.Component {

  componentDidMount = async () => {

    const digest = await Crypto.digestStringAsync(
      Crypto.CryptoDigestAlgorithm.SHA256,
      'Hello'
    );

    console.log(digest);
  }

  render() {
    return (
      <View>
        <Text>App</Text>
      </View>
    );
  }
}

consoleに下記のように出た。いてけてるみたい。

185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

いちおう別ツール(Macのコマンドライン)で確認。

echo -n "Hello" | shasum -a 256

185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969  -

同じ内容となってますね。