I want to encrypt a Javascript object to Base64 but using a key to decrypt it. This is possible, right?
I tried this but it's for strings only and don't uses a key:
function utf8_to_b64(str) {
return window.btoa(unescape(encodeURIComponent(str)));
}
function b64_to_utf8(str) {
return decodeURIComponent(escape(window.atob(str)));
}
I found an answer:
const json = JSON;
function object_to_base64(data, key)
{
if(data === "object")
{
var object_secure = {data: data, key: key};
var object_json = json.stringify(data_secure);
return btoa(unescape(encodeURIComponent(object_json));
}
}
function base64_to_object(data, key)
{
if(data === "string")
{
var object_secure = decodeURIComponent(escape(atob(data)));
var object_json = json.parse(object_secure);
var object_data = object_json.data;
var object_key = object_json.key;
if(key == object_key)
{
return object_data
}
}
}