update formatting, add random key gen
authorAJ ONeal <aj@therootcompany.com>
Mon, 13 Jul 2020 07:38:19 +0000 (07:38 +0000)
committerAJ ONeal <coolaj86@gmail.com>
Mon, 13 Jul 2020 16:28:07 +0000 (10:28 -0600)
node/README.md

index 75fe146da5b03b653d95ec674322589b33caf3fc..6f9ae8a3f3d8956fae0104e1296c3d0e545ee3af 100644 (file)
@@ -5,7 +5,7 @@ tagline: |
   Node.jsĀ® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
 ---
 
-## Updating `node`
+## Updating and Switch versions
 
 ```bash
 webi node@stable
@@ -16,8 +16,8 @@ Use `@lts` for long-term support and the `@beta` tag for pre-releases, or
 
 ## Cheat Sheet
 
-Node is great for simple, snappy HTTP(S) servers, and for stitching APIs
-together with minimal fuss or muss.
+Node is great for simple, snappy HTTP(S) servers, and for stitching APIs
+together with minimal fuss or muss.
 
 Installing node via webi will:
 
@@ -55,11 +55,26 @@ http.createServer(app).listen(8080, function () {
 node server.js
 ```
 
+### Generate a Secure Random Key
+
+This generates a hex-encoded 128-bit random key.
+
+```bash
+node -p 'crypto.randomBytes(16).toString("hex")'
+```
+
+This generates a url-safe base64 256-bit random key.
+
+```bash
+node -p 'crypto.randomBytes(32).toString("base64")
+            .replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "")'
+```
+
 ### An Express App
 
 ```bash
 mkdir my-server
-pushd my-server
+pushd my-server/
 npm init
 npm install --save express
 ```