https://github.com/ajyounguk/crypto-client
A Node.js demo app to encrypt / decrypt / hash text (AES, SHA2, RSA)
https://github.com/ajyounguk/crypto-client
aes aes-256 aes-encryption decrypt decryption demo demo-app encrypt encryption html javascript node nodejs rsa rsa-algorithm rsa-cryptography rsa-encryption rsa-key-pair sha2 sha256-hash
Last synced: 8 months ago
JSON representation
A Node.js demo app to encrypt / decrypt / hash text (AES, SHA2, RSA)
- Host: GitHub
- URL: https://github.com/ajyounguk/crypto-client
- Owner: ajyounguk
- License: mit
- Created: 2018-03-20T15:27:30.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-20T11:05:46.000Z (almost 3 years ago)
- Last Synced: 2025-01-21T10:11:28.511Z (10 months ago)
- Topics: aes, aes-256, aes-encryption, decrypt, decryption, demo, demo-app, encrypt, encryption, html, javascript, node, nodejs, rsa, rsa-algorithm, rsa-cryptography, rsa-encryption, rsa-key-pair, sha2, sha256-hash
- Language: CSS
- Homepage:
- Size: 2.52 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Plaintext Encryption/Decryption Demo
##
## ursa dependency is not building on Windows 11 - this app may not work at all as at 20-12-2022
## What is this?
A demo client to illustrate encryption, decryption and hashing functions with AES, SHA2 and RSA.

**_IMPORTANT DISCLAIMER!!_** This is not a secure application, or a secure or recommended way of encrypting data, it's a simple demo to illustrate the principles only. Do not use this a secure encryption example / reference code for a secure system in any way. Please refer to the numerous articles and info on encryption and security on the interwebs for that!
## Contains
- /public = CSS (stylesheet)
- /views = ejs based index.html page
- /controllers = controller code with HTTP UI rendering and encryption code
- app.js main app code
## Functionality:
- **encrypt** plaintext to cipher using password/secret (AES)
- **decrypt** cipher to plaintext using password/secret (AES)
- **hash** plaintext, using an optional password/secret (SHA-2)
- **rsa key generation** create private and public keys
- **rsa encryption** using public key
- **rsa decryption** using private key
## Acknowledgements
Based on Christoph Hartmann examples at:
http://lollyrock.com/articles/nodejs-encryption/
## Installation overview
### Clone Repo an install module dependencies
```
https://github.com/ajyounguk/crypto-demo
cd crypto-demo
npm install
```
## How to run it
node app.js
point your browser at the local/remoteIP port 3000 to load the cryptography demo html UI
### EOL Readme..