Comments (7)
@Cali93 if you'll find something good, please post it here - I will want to add it to README for documentation purposes
from noble-ed25519.
@Cali93 default async methods require webcrypto sha512. Since it's not present there, your best bet is to enable synchronous methods and use them with noble-hashes. See readme for usage.
from noble-ed25519.
I think it's because React Native doesn't support crypto by default.
It's all supported. Something is wrong with your config.
You will need to write down the exact steps and errors.
from noble-ed25519.
I updated the issue with more details and steps to reproduce.
I face the same issue using node 16 and 18.
from noble-ed25519.
Okay. It seems like React Native still doesn't support webcrypto: facebook/hermes#915.
Is there a recommended way to get it working on React Native (with and without using Expo) ? Could you document the steps ?
Use polyfill. There should be some, because a lot of people are using noble with webcrypto.
I don't develop RN apps so I can't say which one I would recommend.
from noble-ed25519.
Most of the library is working by using react-native-quick-crypto to polyfill crypto.
However I get Cannot read property 'digest' of undefined
when calling sign
or signAsync
.
from noble-ed25519.
I got the library working on react-native!
Here's the process to get it working if you want to add it in the documentation.
- Install and set up react-native-quick-crypto to polyfill crypto.
- Add the following snippet in the
index.js
file of your react-native app
import crypto from 'react-native-quick-crypto';
const polyfillDigest = async (algorithm, data) => {
const algo = algorithm.replace('-', '').toLowerCase();
const hash = crypto.createHash(algo);
hash.update(data);
return hash.digest();
};
globalThis.crypto = crypto;
globalThis.crypto.subtle = {
digest: polyfillDigest,
};
I hope it helps others using this great library in react-native.
from noble-ed25519.
Related Issues (20)
- Signing using Extened Private Key HOT 3
- how to correctly generate signature with version @noble/ed25519 library version 1.7.3 HOT 1
- Compatibility with libsodium generated keys HOT 1
- Wrong signature with version > 1.60
- Deno import error HOT 5
- Can someone help me with the getSharedSecret function? HOT 1
- 64byte (extended) ed25519 private keys HOT 6
- ed.utils.hexToBytes not mentioned in README HOT 1
- synchronous `getSharedSecret()`
- What are your sources for the algorithm? HOT 5
- making API consistent
- replacement for getSharedSecret HOT 6
- v2 throws error in FF when bundled with parcel HOT 2
- Jest gives an error: "SyntaxError: Unexpected token export" HOT 2
- How to create hybrid NPM package for Node.js and bundlers? HOT 3
- Error: crypto.getRandomValues must be defined HOT 5
- const err = (m = '') => { throw new Error(m); }; // error helper, messes-up stack trace HOT 2
- Random PRNG - how secure is it? HOT 4
- Can not make it generate or verify the signature HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from noble-ed25519.