Last active
November 10, 2020 02:27
-
-
Save chris-rock/993d8a22c7138d1f0d2e to your computer and use it in GitHub Desktop.
Encrypt and decrypt text in nodejs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Part of https://github.com/chris-rock/node-crypto-examples | |
// Nodejs encryption with CTR | |
var crypto = require('crypto'), | |
algorithm = 'aes-256-ctr', | |
password = 'd6F3Efeq'; | |
function encrypt(text){ | |
var cipher = crypto.createCipher(algorithm,password) | |
var crypted = cipher.update(text,'utf8','hex') | |
crypted += cipher.final('hex'); | |
return crypted; | |
} | |
function decrypt(text){ | |
var decipher = crypto.createDecipher(algorithm,password) | |
var dec = decipher.update(text,'hex','utf8') | |
dec += decipher.final('utf8'); | |
return dec; | |
} | |
var hw = encrypt("hello world") | |
// outputs hello world | |
console.log(decrypt(hw)); |
crypto.createCipher
has been deprecated. Better to use the iv variants now.
const crypto = require('crypto')
const {algorithm, iv} = require('config').crypto
module.exports = {
decrypt({cipherText, key}) {
const decipher = crypto.createDecipheriv(algorithm, key, iv)
return decipher.update(cipherText, 'hex', 'utf8') + decipher.final('utf8')
}
, encrypt({text, key}) {
const cipher = crypto.createCipheriv(algorithm, key, iv)
return cipher.update(text, 'utf8', 'hex') + cipher.final('hex')
}
}
crypto.createCipher
has been deprecated. Better to use the iv variants now.const crypto = require('crypto') const {algorithm, iv} = require('config').crypto module.exports = { decrypt({cipherText, key}) { const decipher = crypto.createDecipheriv(algorithm, key, iv) return decipher.update(cipherText, 'hex', 'utf8') + decipher.final('utf8') } , encrypt({text, key}) { const cipher = crypto.createCipheriv(algorithm, key, iv) return cipher.update(text, 'utf8', 'hex') + cipher.final('hex') } }
what is your const {algorithm, iv} = require('config').crypto
config
my service use PHP but API server user Nodejs
how to write decrypt on PHP example ,
could you help me to solve this trouble ?
thanks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is there any way to check if the decryption was successfull instead of returning a random string when it dosen't work? Thanks.