Hivecrypt: JavaScript module for Hive memo encrypt/decrypt on wide range of environments

Hivecrypt thumbnail.png

Are you getting the following error message when trying to encrypt or decrypt a Hive memo in ElectronJS or React Native using hive-js? Perhaps looking for something that works for your framework that you're using when building your cutting-edge Hive DApp?

Screenshot 20201122 at 12.04.23 PM.png

Introducing Hivecrypt, a module that you can import into a wide range of JavaScript environments, including desktop and mobile app frameworks like ElectronJS, that wouldn't otherwise work with existing libraries.

Adapted from this pull request on dhive that was never merged into master (plus the major help from this file), Hivecrypt was built on Crypto-JS that works on virtually any latest JavaScript environments, unlike the implementation on hive-js and the pull request mentioned above, that uses the crypto NodeJS module that only works on certain environments.

How to use?

Hivecrypt can be installed from npm with the following command:

npm i hivecrypt

It can also be imported into the browser by including the following script tag in your HTML file, where Hivecrypt will be available through window.hivecrypt:

<script src="https://unpkg.com/hivecrypt/bin/hivecrypt.min.js"></script>

Once installed, it may be used for encrypting and decrypting memos just like how it is done with hive-js, but works in more environments.

const hivecrypt = require('hivecrypt') // CommonJS

let encrypted = hivecrypt.encode('privatekey1','publickey2','#somesecretmessage')
let decrypted = hivecrypt.decode('privatekey2',encrypted)

console.log(encrypted,decrypted)

It might not be built with optimizing for the smallest package size in mind, but at least it is something that is usable for devs.

Hive witness footer 2.png


UPDATE: Upon further testing apparently it is not fully cross-compatible with hive-js, perhaps that is why that PR never got merged into master. But at least it would still be useful for my upcoming OneLoveIPFS v2 upgrade.

H2
H3
H4
3 columns
2 columns
1 column
2 Comments
Ecency