Refactored XOR.js to call replace once #221

Merged
Rudxain merged 2 commits from patch-1 into master 2022-05-07 21:10:43 -04:00
Showing only changes of commit a31843e889 - Show all commits

View file

@ -1,5 +1,5 @@
module.exports = class XOR {
xor(str, key) { return String.fromCodePoint(...str.split('').map((char, i) => char.charCodeAt(0) ^ key.toString().charCodeAt(i % key.toString().length))) }
encrypt(str, key = 37526) { return Buffer.from(this.xor(str, key)).toString('base64').replace(/./gs, c => {'/': '_', '+': '-'}[c] || c); }
decrypt(str, key = 37526) { return this.xor(Buffer.from(str.replace(/./gs, c => {'/': '_', '+': '-'}[c] || c), 'base64').toString(), key) }
encrypt(str, key = 37526) { return Buffer.from(this.xor(str, key)).toString('base64').replace(/./gs, c => ({'/': '_', '+': '-'}[c] || c)); }
decrypt(str, key = 37526) { return this.xor(Buffer.from(str.replace(/./gs, c => ({'/': '_', '+': '-'}[c] || c)), 'base64').toString(), key) }
}