Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const crypto = require('crypto')
- const ALGORITHM_NAME = 'aes-256-cbc'
- const ENCRYPT_KEY = 'e916e810f3858bffc8751581ca81a748'
- const IV_LENGTH = 16
- const NONCE_LENGTH = 4
- const encryptString = (plainText) => {
- const nonce = crypto.randomBytes(NONCE_LENGTH)
- const iv = crypto.randomBytes(IV_LENGTH)
- const cipher = crypto.createCipheriv(ALGORITHM_NAME, ENCRYPT_KEY, iv)
- let encrypted = cipher.update(plainText, 'utf8', 'hex')
- encrypted += cipher.final('hex')
- const cipherText = Buffer.concat([iv, nonce, Buffer.from(encrypted, 'hex')])
- return cipherText.toString('hex')
- }
- const decryptString = (cipherText) => {
- const cipherByte = Buffer.from(cipherText, 'hex')
- const iv = cipherByte.slice(0, IV_LENGTH)
- const originalText = cipherByte.slice(IV_LENGTH + NONCE_LENGTH, cipherByte.length)
- let decipher = crypto.createDecipheriv(ALGORITHM_NAME, ENCRYPT_KEY, iv)
- let decrypted = decipher.update(originalText.toString('hex'), 'hex', 'utf8')
- decrypted += decipher.final('utf8')
- return decrypted
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement