3

Very new to JavaScript I am.

What I think I know

  • There's the CryptoJS module for the frontend.
  • There's a Closure Library by Google.

I tried

  • Using the CryptoJS module. But I didn't get the hexadecimal hash.
  • Using the closure library according to this doc, this example and from this cdn.

But my question is

  • Is there a native crypto library on browser?
AvirukBasak
  • 108
  • 3
  • 8

2 Answers2

7

There is a native browser crypto.

A code example for what you want is:

const text = 'An obscure body in the S-K System, your majesty. The inhabitants refer to it as the planet Earth.';

async function digestMessage(message) {
  const encoder = new TextEncoder();
  const data = encoder.encode(message);
  const hash = await crypto.subtle.digest('SHA-256', data);
  return hash;
}

digestMessage(text)
  .then(digestBuffer => console.log(digestBuffer.byteLength));

The above example is found here which is a good start for in-browser cryptography.

Alex Ander
  • 1,430
  • 12
  • 19
-1

Re : "Is there a native crypto library on browser?"

You may use CDN library.

https://cdnjs.com/libraries/crypto-js

Please quote the following script tag into your html :

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js" integrity="sha512-E8QSvWZ0eCLGk4km3hxSsNmGWbLtSCSUcewDQPQWZF6pEU8GlT8a5fF32wOl1i8ftdMhssTrF/OhyGWwonTcXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

For how to use the methods from the library , please refer to the website below :

https://cryptojs.gitbook.io/docs/

The following page shows an example where my suggestion comes from :

https://codepen.io/omararcus/pen/QWwBdmo