It's 2024. You should use tsup instead of this.
🔥 Blazing fast builds
😇 CommonJS bundle
🌲 .mjs
bundle
✨ .d.ts
bundle + type-checking
It's 2024. You should use tsup instead of this.
🔥 Blazing fast builds
😇 CommonJS bundle
🌲 .mjs
bundle
✨ .d.ts
bundle + type-checking
In this guide I will go through all the steps to create a VPS, secure it and deploy a Django application. This is a summarized document from this digital ocean doc
Any commands with "$" at the beginning run on your local machine and any "#" run when logged into the server
Use this link and get $10 free. Just select the $5 plan unless this a production app.
const aes = require("aes-js"); | |
const argon2 = require("argon2"); | |
const crypto = require("crypto"); | |
const cryptoJS = require("crypto-js"); | |
// Encrypt using AES-256-CTR-Argon2-HMAC-SHA-256 | |
async function aes256ctrEncrypt(plaintext, password) { | |
let argon2salt = crypto.randomBytes(16); // 128-bit salt for argon2 | |
let argon2Settings = { type: argon2.argon2di, raw: true, | |
timeCost: 8, memoryCost: 2 ** 15, parallelism: 2, |
# I know you've got stuck for too long ^_^Y | |
# Locale is not configured correct. I don't know what broke that. Maybe time did. | |
# I fixed it on my ubuntu 14 & 16 servers. | |
# Follow the steps below or run this script on your machine. | |
# step 1 | |
# ensure this line in `/etc/default/locale` file and `/etc/environment` file | |
# LANG="en_US.UTF-8" | |
sudo echo '\nLANG="en_US.UTF-8"' >> /etc/default/locale && /etc/environment |
static async handleDelete(event) { | |
let success = true; | |
await Axios.delete('/todos') | |
.then(() => {}) | |
.catch(error => { | |
success = false; | |
console.error(error); | |
}); |
FWIW: I (@rondy) am not the creator of the content shared here, which is an excerpt from Edmond Lau's book. I simply copied and pasted it from another location and saved it as a personal note, before it gained popularity on news.ycombinator.com. Unfortunately, I cannot recall the exact origin of the original source, nor was I able to find the author's name, so I am can't provide the appropriate credits.
Not all random values are created equal - for security-related code, you need a specific kind of random value.
A summary of this article, if you don't want to read the entire thing:
Math.random()
. There are extremely few cases where Math.random()
is the right answer. Don't use it, unless you've read this entire article, and determined that it's necessary for your case.crypto.getRandomBytes
directly. While it's a CSPRNG, it's easy to bias the result when 'transforming' it, such that the output becomes more predictable.uuid
, specifically the uuid.v4()
method. Avoid node-uuid
- it's not the same package, and doesn't produce reliably secure random values.random-number-csprng
.You should seriously consider reading the entire article, though - it's