Switch away from AES to 3 key XOR

This commit is contained in:
rift 2024-04-06 17:59:30 -05:00
parent a6473f3e77
commit aba3153c4f

View file

@ -1,8 +1,31 @@
self.__uv$config = {
prefix: "/~/uv/",
bare: "/bare/",
encodeUrl: Ultraviolet.codec.aes.encode,
decodeUrl: Ultraviolet.codec.aes.decode,
encodeUrl: function encode(str) {
if (!str) return str;
return encodeURIComponent(
str
.toString()
.split('')
.map((char, ind) =>
ind % 2 ? String.fromCharCode(char.charCodeAt() ^ 3) : char
)
.join('')
);
},
decodeUrl: function decode(str) {
if (!str) return str;
let [input, ...search] = str.split('?');
return (
decodeURIComponent(input)
.split('')
.map((char, ind) =>
ind % 2 ? String.fromCharCode(char.charCodeAt(0) ^ 3) : char
)
.join('') + (search.length ? '?' + search.join('?') : '')
);
},
handler: "/uv/uv.handler.js",
client: "/uv/uv.client.js",
bundle: "/uv/uv.bundle.js",