JSFiddle - React, Tailwind, and code Playground

by rwhal06

HTML

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/modules-sumo/libsodium-sumo.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/modules-sumo/libsodium-wrappers.min.js"></script>
This comes from https://github.com/jedisct1/libsodium.js/issues/139

It shows that libsodium.js does not seem to work on iOS 11.2.

JavaScript

sodium.ready.then(() => {

	try {
    const message = "test"
    const nonce = sodium.randombytes_buf(sodium.crypto_aead_xchacha20poly1305_ietf_NPUBBYTES)
    const key = sodium.crypto_aead_chacha20poly1305_keygen();
    const encrypted = sodium.crypto_secretbox_easy(sodium.from_string(message), nonce, key)
    const decrypted = sodium.to_string(sodium.crypto_secretbox_open_easy(encrypted, nonce, key))
  	alert(message === decrypted ? 'SUCCESS' : 'FAILURE')
  } catch(e) {
  	console.log(e)
    alert(e)
  }
})