Files
web/server/routers/utils/encryptValue.ts

25 lines
843 B
TypeScript

import crypto from "crypto"
import { env } from "@/env/server"
export default function encryptValue(originalString: string) {
let result = ""
try {
const encryptionKey = env.BOOKING_ENCRYPTION_KEY
const bufferKey = Buffer.from(encryptionKey, "utf8")
let cipher = crypto.createCipheriv("DES-ECB", bufferKey, null)
cipher.setAutoPadding(false)
let bufferString = Buffer.from(originalString, "utf8")
let paddingSize =
bufferKey.length - (bufferString.length % bufferKey.length)
let paddedStr = Buffer.concat([bufferString, Buffer.alloc(paddingSize, 0)])
const buffers: Buffer[] = []
buffers.push(cipher.update(paddedStr))
buffers.push(cipher.final())
result = Buffer.concat(buffers).toString("base64").replace(/\+/g, "-")
} catch (e) {
console.log(e)
}
return result.toString()
}