basic elliptic curve crypto for React Native
this module is used by Tradle
import * as ec from 'react-native-ecc' import { Buffer } from 'buffer' // if you want to be able to find your keys // next time, make sure to use the same service ID ec.setServiceID('be.excellent.to.each.other') // optional // ec.setAccessGroup('dsadjsakd.com.app.awesome.my') // this library allows you to sign 32 byte hashes (e.g. sha256 hashes) const msg = new Buffer('hey ho') // check ec.curves for supported curves const curve = 'p256' ec.keyPair(curve, function (err, key) { // pub tested for compatibility with npm library "elliptic" const pub = key.pub console.log('pub', key.pub.toString('hex')) // look up the key later like this: // const key = ec.keyFromPublic(pub) key.sign({ data: msg, algorithm: 'sha256' }, function (err, sig) { // signatures tested for compatibility with npm library "elliptic" console.log('sig', sig.toString('hex')) key.verify({ algorithm: 'sha256', data: msg, sig: sig }, function (err, verified) { console.log('verified:', verified) }) }) })