目录
背景
好吧,我已经用React Native构建了一个应用程序,并且必须为Firebase和其他应用程序提供一些敏感数据。
解决方案可能是将该数据包含在本机端,但这样做将导致必须为IOS,Android和Windows构建本机模块。我想跳过它,一个想法出现在我脑海中。
当你构建一个React Native应用程序时,它将创建一个JS捆绑包。如果数据被打乱且不可读,所以即使有人看它,他也不会理解任何内容怎么办?这就是我想出这个隐藏JS文件中数据的想法的方式。
平台
该库将适用于任何平台React、React Native和web。
安装
npm i -D node.data.obfuscator
或:
npm i node.data.obfuscator -g
使用代码
如需帮助,只需执行cla help secure。
假设我们有包含以下JSON的 secure.json:
{
"user": "test",
"password": "test.password"
}
要混淆文件,只需执行cla secure -f "../secure.json" -p "./data" -c 3
库将知道文件内容是JSON还是简单字符串,并按原样返回。上面的命令将创建一个名为“data”的文件夹,其中包含以下文件:
要使其创建更少的文件,只需删除或增加--counter。
至于内容或文件,它将如下。对于下面的预览,我删除了--counter,以便为预览创建两个文件:
// x0.js
// the array below is impossible to read as it is shuffled.
const x0= ['\u0074','\u003a','\u0022','\u000a','\u007b','\u0070',
'\u0077','\u0073','\u002c','\u0064','\u0072','\u0065','\u002e',
'\u006f','\u0061','\u007d','\u0020','\u000d','\u0075'];
export default [x0, ""];
// index.js
import x0 from './x0'
let x36=x0[0X1];
x36+=x0[0X0][0X4];
x36+=x0[0X0][0X11];
x36+=x0[0X0][0X3];
x36+=x0[0X0][0X10];
x36+=x0[0X0][0X10];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X12];
x36+=x0[0X0][0X7];
x36+=x0[0X0][0XB];
x36+=x0[0X0][0XA];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X1];
x36+=x0[0X0][0X10];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X0];
x36+=x0[0X0][0XB];
x36+=x0[0X0][0X7];
x36+=x0[0X0][0X0];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X8];
x36+=x0[0X0][0X11];
x36+=x0[0X0][0X3];
x36+=x0[0X0][0X10];
x36+=x0[0X0][0X10];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X5];
x36+=x0[0X0][0XE];
x36+=x0[0X0][0X7];
x36+=x0[0X0][0X7];
x36+=x0[0X0][0X6];
x36+=x0[0X0][0XD];
x36+=x0[0X0][0XA];
x36+=x0[0X0][0X9];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X1];
x36+=x0[0X0][0X10];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X0];
x36+=x0[0X0][0XB];
x36+=x0[0X0][0X7];
x36+=x0[0X0][0X0];
x36+=x0[0X0][0XC];
x36+=x0[0X0][0X5];
x36+=x0[0X0][0XE];
x36+=x0[0X0][0X7];
x36+=x0[0X0][0X7];
x36+=x0[0X0][0X6];
x36+=x0[0X0][0XD];
x36+=x0[0X0][0XA];
x36+=x0[0X0][0X9];
x36+=x0[0X0][0X2];
x36+=x0[0X0][0X11];
x36+=x0[0X0][0X3];
x36+=x0[0X0][0XF];
export default JSON.parse(x36)
现在使用,您只需执行以下操作;
import secureJSON from './data'
console.log(secureJSON.password);
兴趣点
这是一个简单的库,可以使您的数据在JS中可用并受到保护。
https://www.codeproject.com/Tips/5339439/Introducing-node-data-obfuscator