GithubHelp home page GithubHelp logo

Comments (7)

kevlened avatar kevlened commented on May 25, 2024 1

It should return an ArrayBuffer. If you perform toString() on that you'll get something like ArrayBuffer []. Brief explanation:

An ArrayBuffer is an untyped array that just represents a chunk of memory with a defined length. In order to get a view of that memory, you have to cast it to a typed array. Often, this is a Uint8Array. The U makes it unsigned, so it's alway positive and the 8 makes each element represent one byte.

I imagine what you want is a SHA256 hash as a string. This is most commonly represented in hex. I wrote hex-lite to make this easy, so here's an example:

import crypto from 'isomorphic-webcrypto';
import hex from 'hex-lite';

crypto.subtle.digest(
  { name: 'SHA-256' },
  new Uint8Array([1,2,3]).buffer
)
.then(hash => {
  console.log('sha256 hash', hex.fromBuffer(hash));
});

from isomorphic-webcrypto.

kevlened avatar kevlened commented on May 25, 2024 1

I added additional details about hashing to the README. I also included an example of how to generate a hash in the React Native examples.

from isomorphic-webcrypto.

kevlened avatar kevlened commented on May 25, 2024

You'll want an Uint8Array, not an Int8Array. What happens when you pass a Uint8Array instead of a raw buffer?

import crypto from 'isomorphic-webcrypto'

crypto.subtle.digest(
  { name: 'SHA-256' },
  new Uint8Array([1,2,3]) // remove the buffer
)
.then(hash => {
  // do something with the hash buffer
})

from isomorphic-webcrypto.

kevlened avatar kevlened commented on May 25, 2024

I ask, because I made accommodations to ensure this works.

I was testing using create-react-native-app though, so I'm wondering if something strange is happening when checking instanceof in a different environment.

from isomorphic-webcrypto.

sinewave440hz avatar sinewave440hz commented on May 25, 2024

Tbh I'm not really sure what the expected outcome should be in this case. In any case, hash is an empty object. Is that correct?

from isomorphic-webcrypto.

sinewave440hz avatar sinewave440hz commented on May 25, 2024

(This works fine both on my test app and in your new example app. Thanks.) Now, I'm sitting here expanding on your app just to test all the methods our app currently uses. Would you consider a PR when I'm done on that? (Probably won't be all methods but it might help a bit).

from isomorphic-webcrypto.

kevlened avatar kevlened commented on May 25, 2024

I'll definitely accept a PR! I'm also curious to see which methods you're using. Just a heads up, I haven't rigorously tested the encryption methods, but digest, signing, verification, and key generation (with a few exceptions) should work.

from isomorphic-webcrypto.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.