cumstorm/src/xor.ts

11 lines
474 B
TypeScript

export function encode(str : string, key : string) : string {
return Buffer.from(Array.from(
str,
(c : string, i) => String.fromCharCode(c.charCodeAt(0) ^ key.charCodeAt(i % key.length))
).join('')).toString('base64');
}
export function decode(str : string, key : string) : string {
str = Buffer.from(str, 'base64').toString('utf8');
return Array(str.length).fill(0).map((_, i) => String.fromCharCode(str.charCodeAt(i) ^ key.charCodeAt(i % key.length))).join('');
}